如何在gdb中打印Java数组?
问题描述:
我用gcj-4.4和-o选项编译了一个非常简单的java程序。我把它加载到gdb-7.2中,并试图做一些调试。我注意到我可以在int类型中打印变量,但我无法打印int数组。我收到了这个错误信息:如何在gdb中打印Java数组?
(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[]
所以我的问题是我怎样才能在gdb中打印Java数组?我的操作系统是openSUSE-11.1 x64-86bit。谢谢!
答
自从我使用GDB以来,它已经有一段时间了,但是p * array-variable @ length应该可以工作。
这对我不起作用。你真的测试过它吗? – 2012-01-13 01:29:50