Я пытаюсь отладить проблему в DLL, написанной на C, которая продолжает вызывать нарушения прав доступа. Я использую Visual C ++ 2008, но код простой C.
Я привык к Delphi, где, если возникает исключение во время работы под отладчиком, программа сразу же перейдет к отладчику и даст вам возможность проверить состояние программы. В Visual C ++ все, что я получаю, это сообщение на вкладке «Вывод»:
First-chance exception at blah blah blah: Access violation reading location 0x04410000.
Без перерывов, ничего. Он просто идет и раскручивает стек, пока не вернется в мой Delphi EXE, который распознает что-то не так и предупреждает меня об этом, но к этому моменту я потерял несколько слоев стека вызовов и не знаю, что происходит.
Я пробовал другие методы отладки, но все, что он делает, происходит глубоко внутри вложенного цикла внутри макроса C, который вызывается более 500 раз, и это лишь немного выше моего умения (или моего терпения), чтобы отследить через.
Я полагаю, что должен быть какой-то способ получить исключение "первого шанса", чтобы фактически дать мне "шанс" справиться с этим. Вероятно, есть какой-то параметр конфигурации «немедленно прервать при исключениях из первого шанса», о котором я не знаю, но, похоже, он не так уж и обнаружим.
Кто-нибудь знает, где он находится и как его включить?