如何在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应该可以工作。

来源:http://www.yolinux.com/TUTORIALS/GDB-Commands.html

+0

这对我不起作用。你真的测试过它吗? – 2012-01-13 01:29:50