2011-01-31 6 views
5

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 배열을 인쇄 할 수 있습니까? 내 OS는 openSUSE-11.1 x64-86bit입니다. 감사!

답변

0

GDB를 사용했지만 p * array-variable @ length가 사용 된 이후로 꽤 오래되었습니다.

출처 : http://www.yolinux.com/TUTORIALS/GDB-Commands.html

+0

이것은 나를 위해 작동하지 않습니다. 실제로 테스트 해 봤니? –

+0

나를 위해 잘 작동합니다, 이것은 곧바로 doco "p * array-variable @ length \t 길이로 지정된 배열의 첫 번째 값을 표시합니다. 동적으로 할당 된 메모리에 대한 포인터로 좋습니다." 이 작업을하기 전에 print array를 설정해야 할 수도 있습니다. – Dimitar

+0

제 경우에는 debuginfos가 누락 된 것처럼 보입니다. 설치 한 후 작동하는 것 같습니다. –

관련 문제