2012-06-05 3 views
3

Возможно ли вступить в код COM C++, который используется через слой взаимодействия .net, созданный tlbimp.exe из программы на C++. Я вижу, что символы для DLL COM C++ загружаются в окне Debug-> Modules.Отладка в COM-код C++ через класс .net interop

+1

Нет, отладчик не разрешает входить в код, который переключается с управляемого на собственный код, или наоборот. Вам нужно будет установить контрольную точку для вызываемого метода. Включите неуправляемую отладку в проекте C# exe, чтобы это работало, смешанный режим в родном проекте. –

+0

Также в качестве напоминания дважды проверьте типы кода в диалоговом окне «Прикрепить к процессу», затем установите поле «Прикрепить к» вручную, выбрав в списке флажки «Управляемый» и «Нативный код». См. Http://stackoverflow.com/questions/2519603/debugging-unmanaged-code-while-debugging-managed-code и посмотрите комментарий Рафаэля Сен-Пьера относительно принятого ответа для справки. –

ответ

6

Возможно, но вам нужно установить отладчик Visual Studio в смешанный режим в свойствах проекта. Он находится под Project properties->Configuration Properties->Debugging->Debugger Type

+0

Ранее было установлено значение «Авто», после чего я установил его «Смешанный». Работает! – TrustyCoder