내 프로그램 "./myprog"의 전체 추적 목록을 가져오고 싶습니다. - GDB 7.0- 우분투 (내 아키텍처에 대한 최신 버전이 존재하지 않습니다)가 있습니다. 내 GDB 스크립트 ("./trace_list.gdb은") :GDB의 도움으로 프로그램의 전체 추적 목록을 얻는 방법은 무엇입니까?
gdb -q -x ./trace_list.gdb
file ./myprog
set print address off
display/x $r0
display/x $r1
display/x $r2
display/x $r3
display/x $r4
display/x $r5
display/x $r6
display/x $r7
display/x $r8
display/x $r9
display/x $r10
display/x $r11
display/x $r12
display/x $sp
display/x $lr
display/x $fps
b *0x323d0
set logging on
run
while 1
x/i $pc
ni
end
quit
는 특정 순간을 위해 좋은 작동합니다. 다음 글을 참고하십시오 :
"./trace_list.gdb":26: Error in sourced command file:
Cannot access memory at address 0x6b980000
그리고 더 이상 실행되지 않습니다.
왜이 오류가 발생합니까? 내 프로그램의 전체 추적 목록을 가져 오려면 어떻게해야합니까? 다른 도구를 사용해야 할 수도 있습니까? 나는 전혀 모른다.
"전체 추적은 실제로 거의 유용하지 않습니다."- 프로그램이 난독 화 된 경우에도? –
일부 중단 점 사이에 프로그램 추적을 얻는 것이 유용 할 것입니다. 그러나 키보드를 깨고 모니터를 창 밖으로 던질 때마다 "주소의 메모리에 액세스 할 수 없습니다"라는 메시지가 나타납니다. 추신 프로그램은 기호 정보없이 정적으로 (gcc - 정적으로) 어셈블됩니다. –
감사합니다. :) –