Отладчик GDB не знаком с отображаемым кодом - PullRequest
0 голосов
/ 25 октября 2018

Я довольно новичок в использовании отладчика gdb и, поэтому, сталкиваясь с кодом, отображаемым при запуске gdb, я не смог использовать отладчик.Я не знаком с отображаемым кодом, но провел небольшое исследование и предположил, что случайно открыл «поток»?Трудно объяснить что-то, чего я не понимаю, но я привяжу картинку, объясняющую, о чем я говорю.По сути, я хочу вернуться к «основному» отображению моего фактического кода, а не к этому: , отображаемое отладчиком

1 Ответ

0 голосов
/ 25 октября 2018

Ваша программа вызвала одну из scanf семейства функций с потоком NULL.

Обычно это происходит, когда вы не проверяете ошибки.Например:

FILE *fp = fopen("/file/which/does/not/exist", "r");
char ch;

fscanf(fp, "%c", &ch);  /* BUG: should check fp!=NULL first.  */

Вы должны всегда проверять возвращаемое значение любой функции, которая может завершиться ошибкой.

Вы можете увидеть, какой код вызывается в fscanf с помощью GDBwhere команда.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...