У меня очень странная проблема, связанная с отладкой самокодированных библиотек DLL. У меня есть диалоговое приложение, управляемое MFC, несколько статически связанных проектов и несколько DLL-проектов, которые загружаются во время выполнения.
Я строю решение в режиме отладки, запускаю приложение и могу легко отлаживать эти DLL-проекты. Теперь проблема. Если в DLL есть какая-то очевидная ошибка во время выполнения, например:
int* i = 0;
*i = 4;
отладчик не выдает никаких ошибок, не выдает никаких исключений и молча возвращается в состояние ожидания, даже если нет (видимых) возвратов стека. Похоже, когда я нажимаю F10 в операторе *i = 4;
, элемент управления возвращается в главное окно приложения, и выполнение программы продолжается, поскольку ничего не произошло! И если в коде нет ошибок, он работает нормально. Но я ожидаю ошибок в этом случае! И они есть - в основном коде приложения.
Я использую функцию LoadLibrary () для загрузки моей DLL в приложение. Сама DLL имеет статически связанную MFC, как и любой другой проект в решении.
Есть идеи? Даже не знаю, какой вопрос гуглить ...