У меня есть программа, которая выдает фатальную ошибку с тестовым регистром, и я могу найти проблему, прочитав журнал и трассировку стека фатальной ошибки - оказывается, что есть операция чтения по нулевому указателю.
Но когда я пытаюсь присоединить к нему gdb и установить точку останова вокруг подозрительного кода, нулевой указатель просто не может наблюдаться! Программа работает без сбоев.
Это однопотоковая однопотоковая программа, такого раньше не было. Кто-нибудь может дать мне несколько комментариев? Спасибо.
Добавлено: я также пытался вызвать системный вызов pause () перед кодом триггера с фатальным исходом, и ожидал, что программа перестанет спать до фатальной точки, а затем подключит к нему gdb на лету, к сожалению, никакого фатального не произошло.