Когда программа работает правильно во время отладки, но в противном случае нет? [Дубликат]

Возможный дубликат:
Распространенные причины ошибок в версии выпуска, отсутствующих в режиме отладки

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

Вы когда-нибудь встречались с такой ситуацией и почему?

Обновление :

Чтобы доказать, что есть логические причины, которые привели к такой неприятной ситуации :

Я думаю, что одной большой возможностью является проверка доступа к куче. Я когда-то написал функцию, которая выделяет небольшой буфер, но позже я выхожу из буфера. Он будет правильно работать в gdb, cdb и т. Д. ( Я не знаю почему, но он работает правильно), но ненормально завершается при нормальной работе.

Я использую C ++.

Я не думаю, что моя проблема дублирует вышеупомянутую.

Это сравнение между режимом выпуска и режимом отладки, но мое - между отладкой, а не отладкой, в которой есть слово heisenbug , как отмечали многие другие.

спасибо.

13
задан Bhargav Rao 17 August 2019 в 07:05
поделиться