Я пытаюсь отладить проблему в 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", о которых я не знаю, но это не похоже на то, что можно обнаружить.
Кто-нибудь знает, где он находится и как его включить?