Подтвердить что ты не робот

Как отключить отладчик VС++ для исключений?

Я пытаюсь отладить проблему в DLL, написанной на C, которая продолжает вызывать нарушения доступа. Я использую Visual С++ 2008, но код является прямым C.

Я привык к Delphi, где, если во время работы под отладчиком возникает исключение, программа немедленно распадается на отладчик, и это даст вам возможность изучить состояние программы. Однако в Visual С++ все, что я получаю, - это сообщение на вкладке "Вывод":

First-chance exception at blah blah blah: Access violation reading location 0x04410000. Никаких перерывов, ничего. Он просто уходит и разматывает стек до тех пор, пока он не вернется в мой Delphi EXE, который распознает что-то не так и предупреждает меня там, но к этому моменту я потерял несколько уровней стека вызовов, и я не знаю, что происходит.

Я пробовал другие методы отладки, но все, что он делает, происходит глубоко внутри вложенного цикла внутри макроса C, который получает вызов более 500 раз, и это немного превышает мое умение (или мое терпение) для отслеживания через.

Я полагаю, что должен быть какой-то способ получить исключение "первого шанса", чтобы фактически дать мне "шанс" справиться с этим. Вероятно, некоторые настройки "break on on-first exceptions exceptions", о которых я не знаю, но это не похоже на то, что можно обнаружить.

Кто-нибудь знает, где он находится и как его включить?

4b9b3361

Ответ 1

В меню Отладка выберите Исключения и установите флажки исключений, которые вы хотите отключить отладчика. "Нарушение доступа" находится в разделе "Исключения Win32".

Ответ 2

Вы также можете создать точку останова данных, используя адрес, указанный в строке "Первичная вероятность в...".

Следуя ответам Джеймса, исключения, которые вы ищете, находятся в разделе исключений Win32. Вы должны увидеть там Нарушение прав доступа.