Recopilé un programa java muy simple con las opciones gcj-4.4 y -o. Lo cargué en gdb-7.2 e intenté depurarlo. Noté que podía imprimir las variables en tipo int pero no podía imprimir una matriz de int. Recibí este mensaje de error:¿Cómo imprimo una matriz Java en 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[]
Así que mi pregunta es ¿cómo puedo imprimir una matriz de Java en gdb? Mi sistema operativo es openSUSE-11.1 x64-86bit. ¡Gracias!
Esto no funciona para mí. ¿Lo has probado realmente? –
Funciona bien para mí, esto está directamente del doco "p * array-variable @ length \t Imprime los primeros # valores de la matriz especificada por la longitud. Bueno para los punteros a la memoria asignada dinámicamente." Es posible que deba configurar la matriz de impresión antes de que esto funcione. – Dimitar
Parece que en mi caso faltaban los debuginfos como culpables. Después de instalarlos, parece funcionar. –