Возможно ли вступить в код COM C++, который используется через слой взаимодействия .net, созданный tlbimp.exe из программы на C++. Я вижу, что символы для DLL COM C++ загружаются в окне Debug-> Modules.Отладка в COM-код C++ через класс .net interop
3
A
ответ
6
Возможно, но вам нужно установить отладчик Visual Studio в смешанный режим в свойствах проекта. Он находится под Project properties->Configuration Properties->Debugging->Debugger Type
+0
Ранее было установлено значение «Авто», после чего я установил его «Смешанный». Работает! – TrustyCoder
Нет, отладчик не разрешает входить в код, который переключается с управляемого на собственный код, или наоборот. Вам нужно будет установить контрольную точку для вызываемого метода. Включите неуправляемую отладку в проекте C# exe, чтобы это работало, смешанный режим в родном проекте. –
Также в качестве напоминания дважды проверьте типы кода в диалоговом окне «Прикрепить к процессу», затем установите поле «Прикрепить к» вручную, выбрав в списке флажки «Управляемый» и «Нативный код». См. Http://stackoverflow.com/questions/2519603/debugging-unmanaged-code-while-debugging-managed-code и посмотрите комментарий Рафаэля Сен-Пьера относительно принятого ответа для справки. –