【问题标题】:Inspecting COM objects in VS 2017 debugger在 VS 2017 调试器中检查 COM 对象
【发布时间】:2020-08-04 16:57:11
【问题描述】:

我目前正在将 VBA PowerPoint 加载项迁移到 VSTO。

数周以来,我一直在为 COM 对象使用 Visual Studio degug。如下图所示,对象类型显示为 {system._ComObject},对象检查成为一项挑战,因为必须使用动态视图,我认为这很不方便。

Debugging COM objects

环顾四周,我发现了在常规调试设置中激活“使用托管代码兼容模式”选项的建议,正如您在 Debugging setting 上看到的那样 我还遵循了另一个建议,将我所有与办公室相关的引用上的属性“嵌入互操作类型”设置为 false。

应用这些更改后。瞧!检查开始按照我的意愿进行工作,您可以在此处看到:Debug working properly

我几乎是在天堂。我的狂喜一直持续到我在调试期间尝试更改一些代码并被visual studio告知 “托管兼容模式不支持编辑并继续”。

现在我又回到了地狱。通过编辑并继续,我错过了一个体面的 COM 对象检查。通过 COM 检查,我无法在调试期间更改代码。

这种情况看起来很尴尬,我对 VS 2017 有更多期待。

有谁知道我怎样才能获得像样的 COM 检查和编辑并同时继续?

【问题讨论】:

  • 嗨,关于这个问题的任何更新?实际上,您不能将managed compatibility modeedit and continue 一起使用,就像Microsoft 到目前为止所说的那样。因此,如果它有助于您处理和理解这个问题,请不要忘记accept it,如果您有任何疑问,请随时告诉我们。

标签: debugging visual-studio-2017 com vsto edit-and-continue


【解决方案1】:

有谁知道我怎样才能获得像样的 COM 检查和编辑和 同时继续?

恐怕你得不到你想要的。

因为您只是调试一个 com 对象,它更像是优化的、混合的或 SQL Server 公共语言运行时 (CLR) 集成代码(使用),正如the official document 所说,编辑和继续功能不支持。

通常,要在 VS 中调试这些混合代码,您应该启用 使用托管兼容模式启用本机代码调试,但那些选项正如官方文档所说,Edit and Continue不能很好地工作。

您可以查看this document 了解不支持的更改或支持的代码更改。

所以对于您的问题,没有这样的选项可以同时使用它们。

作为建议,您应该先中断调试过程,对您的代码进行一些更改。然后开始调试以调试新的更改。

另外,如果你还想要这个功能,你可以suggest a feature on our User Voice Forum。团队会仔细检查您的请求,希望他们能给您满意的答复。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-13
    • 2018-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-21
    相关资源
    最近更新 更多