Что я могу сделать, чтобы отследить эту ошибку? - PullRequest
1 голос
/ 19 января 2010

У меня ошибка, когда указатель char получается NULL. Я был на протяжении всего gdb с программой, наблюдал за чтением / записью по адресу памяти и пошагово выполнял инструкции, но пока ошибка меня озадачивает. Я запустил valgrind, и единственное, что появляется, это чтение при сбое (strcmp). Что еще я могу сделать, чтобы отследить это?

1 Ответ

8 голосов
/ 19 января 2010

Вы можете попробовать точку наблюдения . Вы просматриваете выражение, и когда значение этого выражения изменяется, GDB останавливает выполнение.

Вы можете посмотреть переменную:

watch charptr

Это будет прерываться при каждом изменении charptr. Если вы просто хотите узнать, когда он изменится с ненулевого на NULL (или наоборот), вы можете использовать:

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