Ho compilato un semplice programma java con l'opzione gcj-4.4 e -o. L'ho caricato in gdb-7.2 e ho provato a fare un po 'di debug. Ho notato che potevo stampare le variabili nel tipo int ma non potevo stampare un array di int. Ho ricevuto questo messaggio di errore:Come si stampa un array Java in gdb?
(gdb) p orderFinish[0]
cannot find java.lang.Object
(gdb) p (int)orderFinish
$8 = -136261440
(gdb) p orderFinish[3]
cannot find java.lang.Object
(gdb) p in
$9 = 1
(gdb) whatis orderFinish
type = int[]
Quindi la mia domanda è come posso stampare un array Java in gdb? Il mio sistema operativo è openSUSE-11.1 x64-86bit. Grazie!
Questo non funziona per me. Lo hai effettivamente testato? –
Funziona bene per me, questo è uscito dalla doco "p * array-variable @ length \t Stampa i primi # valori dell'array specificato dalla lunghezza.Facile per i puntatori alla memoria allocata dinamicamente." Potrebbe essere necessario impostare la matrice di stampa prima che questo funzioni. – Dimitar
Sembra che nel mio caso mancano i debuginfos. Dopo averli installati, sembra funzionare. –