Я скомпилировал очень простую java-программу с опцией gcj-4.4 и -o. Я загрузил его в gdb-7.2 и попытался выполнить некоторую отладку. Я заметил, что могу печатать переменные в типе int, но я не мог напечатать массив int. Я получил это сообщение об ошибке:Как распечатать массив Java в 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[]
Итак, мой вопрос в том, как я могу напечатать массив Java в gdb? Моя ОС - openSUSE-11.1 x64-86bit. Благодаря!
Это не работает для меня. Вы действительно протестировали его? –
Работает отлично для меня, это прямо из doco «p * array-variable @ length \t Печать первых # значений массива, заданных длиной. Хорошо для указателей на динамическую выделенную память». Возможно, вам понадобится установить массив печати, прежде чем это сработает. – Dimitar
Похоже, что в моем случае недостатком debuginfos был преступник. После их установки он работает. –