【问题标题】:Cannot debug COM interop DLL无法调试 COM 互操作 DLL
【发布时间】:2022-01-22 13:08:38
【问题描述】:

我有一个调用 Web 服务的 C# COM 互操作 DLL。 (此 DLL 使用本机 C++ 代码 - 使用 C# 访问 Web 服务比使用 C++ 更容易。)此 DLL 最初是为 .NET 1 编写的,但已更新到 .NET 4,并且在 .NET 中工作4.

最近,DLL 已停止正常工作,所以我正在尝试对其进行调试,但断点不起作用。我用的是VS2019,调试选项设置为运行我的C++程序来访问DLL。

最初,断点可以在 C# 函数中设置,但是一旦我启动调试会话,断点就会禁用。我用谷歌搜索了它,找到了一些可能导致此问题的项目设置的参考,并尝试了一些方法,但无济于事。然后我使用“类库(.NET Framework)”模板重新构建了项目。现在,断点将保持活动状态,直到应用程序使用断点调用函数,然后断点禁用。它显然是识别断点,然后禁用它而不是停止。

有什么建议吗?

【问题讨论】:

    标签: c# c++ visual-studio-2019 visual-studio-debugging class-library


    【解决方案1】:

    在黑暗的答案中开枪。在要调试 DLL 的 EXE 的项目设置中,尝试更改调试器类型设置。 (项目属性 -> 调试 -> 调试器类型)

    根据您的描述,闻起来像是在“自动”或“仅本地”上。假设您不需要 C++ 代码中的断点,如果“混合”选项不能可靠地工作,您可以尝试“仅托管”。

    【讨论】:

      猜你喜欢
      • 2012-07-19
      • 1970-01-01
      • 2020-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-16
      • 2011-04-01
      • 2012-07-10
      相关资源
      最近更新 更多