как подключить к процессу, который загружает мою DLL и отладить его

В основном, я разрабатываю DLL (открытый интерфейс), который будет использоваться сторонним программным обеспечением. Я хочу отладить свою DLL после ее загрузки этой сторонней DLL, потому что я обнаружил конкретную ошибку, которая возникает только тогда, когда моя DLL загружается этим сторонним программным обеспечением (моя DLL работает нормально для всех других программ, которые принимают этот открытый интерфейс)

Я установил __debugbreak () в моей кодовой DLL и запустил стороннее программное обеспечение. В диалоговом окне Visual Studio появилось сообщение о том, хочу ли я выполнить отладку … но после того, как я нажму OK, вместо того, чтобы попасть в окно Visual Studio, которое показывает строку кода, в которой я установил точку останова, Visual Studio просто падает.

Я обнаружил, что сторонний софтвард загружает мою DLL и запускает ее в другом потоке. И я подозреваю, что это является причиной сбоя стороннего программного обеспечения, потому что __debugbreak () эффективно вызывает необработанное исключение в потоке, запущенном основным потоком.

В этом случае, как я могу отладить мою DLL?

3

Решение

К сожалению, VS падает, но вы можете найти способ обойти это.

Лучше всего начать сеанс отладки прямо сейчас. Или используйте «присоединить к процессу», когда процесс заблокирован в окне сообщений или другом входе. Также лучше использовать точки останова.

С помощью __debugbreak () или принудительного нарушения доступа попробуйте задать новый экземпляр VS, а не существующий.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]