0
Моя цель - выяснить адресное пространство str_main
, но gdb пропускает мою точку останова.Точка останова GDB не останавливается
Как найти его адресное пространство?
У меня есть простой с программой, stack.c
:
....
19 int main(int argc, char **argv[])
20 {
21 char str_main[517];
22 FILE *badfile;
23
24 badfile = fopen("badfile","r");
....
Когда я вхожу GDB я поставил точку останова в строке 21. Однако, когда я запускаю отладчик, я получаю следующее сообщение:
Breakpoint 1, main(argc=1, argv=0xbffff3d4) at stack.c:24
24 badfile = fopen("badfile","r");
Строка 22 на самом деле не является исполняемой строкой в скомпилированном двоичном формате. Но в чем проблема? Остановка на линии 24 отлично подходит для того, что вы хотите сделать. Как вы думаете, что вы можете увидеть в отладчике в строке 22, которую вы не можете включить в строке 24? То есть у вас есть не проблема. – kaylum