0
목표는 str_main
의 주소 공간을 알아내는 것이지만 gdb는 내 중단 점을 건너 뜁니다.GDB 중단 점이 중지되지 않습니다.
어떻게 주소 위치를 찾을 수 있습니까?
나는이 간단한 C 프로그램, stack.c
:
....
19 int main(int argc, char **argv[])
20 {
21 char str_main[517];
22 FILE *badfile;
23
24 badfile = fopen("badfile","r");
....
나는 그러나 라인 21에서 중단 점, 내가 디버거를 실행할 때, 나는 다음과 같은 메시지가 얻을 설정 gdb를 입력 할 때 :
Breakpoint 1, main(argc=1, argv=0xbffff3d4) at stack.c:24
24 badfile = fopen("badfile","r");
을
라인 22는 실제로 컴파일 된 바이너리의 실행 가능 라인이 아닙니다. 그러나 문제는 무엇입니까? 24 번째 줄에서 멈추는 것은 당신이하고 싶은 일에 완벽하게 맞습니다. 디버거에서 22 행에있는 24 행에서 볼 수없는 부분은 무엇이라고 생각하십니까? 즉, 문제가없는 것입니다. – kaylum