【问题标题】:Debugging into COM C++ code through an .net interop class通过 .net 互操作类调试 COM C++ 代码
【发布时间】:2012-06-09 11:32:26
【问题描述】:

是否可以通过 tlbimp.exe 从 C++ 程序创建的 .net 互操作层进入正在使用的 COM C++ 代码。我看到 COM C++ dll 的符号已加载到 Debug->Modules 窗口中。

【问题讨论】:

  • 不,调试器不允许单步执行从托管代码执行切换到本机代码执行的代码,或者相反。您需要在被调用的方法上设置断点。在 C# exe 项目中启用非托管调试,以使其在本机项目中以混合模式工作。
  • 另外提醒一下,仔细检查“附加到进程”对话框中的代码类型,然后通过选择复选框中的托管和本机代码类型手动设置“附加到”字段。请参阅 stackoverflow.com/questions/2519603/… 并查找 Raphaël Saint-Pierre 对已接受答案的评论以供参考。

标签: c++ .net debugging com tlbimp


【解决方案1】:

可以,但您需要在项目属性中将 Visual Studio 调试器设置为混合模式。这位于Project properties->Configuration Properties->Debugging->Debugger Type

【讨论】:

  • 以前设置为“自动”,然后我将其设置为“混合”。它的工作原理!
猜你喜欢
  • 2020-06-05
  • 2015-06-29
  • 2011-02-25
  • 2010-10-02
  • 2017-04-28
  • 2011-02-25
  • 1970-01-01
  • 2011-07-07
  • 2010-12-15
相关资源
最近更新 更多