首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用COM接口调试应用程序?

如何使用COM接口调试应用程序?
EN

Stack Overflow用户
提问于 2010-06-12 06:04:19
回答 2查看 2.8K关注 0票数 2

我正在构建一个使用C#的应用程序,它将使用CATIA COM模块。当我在c#项目中导入COM时,我认为Visual C# express会自动为我生成互操作。

所有这些都能正常工作。但是,当我尝试调试应用程序并在运行时使用监视时,每个对象都是一个System.__ComObject,并且我无法获得它们的“真正”值。

有没有办法告诉调试器我的COM对象的类型?

我们的目标是更多地熟悉这个我并不是很了解的新API。有时很难猜测所有类型的正确类型,因为接口层次结构非常深

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-06-12 07:48:09

你不会在有问题的地方发布代码示例。这在很大程度上取决于您如何创建或强制转换对象,这是您希望在调试器中看到的(当然,如果可能的话,使用new创建对象的实例总是更好)。您应该搜索有关运行时可调用包装(RCW)的信息。这是一个不能理解你想要什么的“家伙”。

顺便说一句,如果你能使用Visual Studio2010,你的生活就会更轻松(参见http://blogs.msdn.com/b/habibh/archive/2009/09/22/debugging-a-com-object-runtime-callable-wrapper-with-visual-studio-2010.aspx)。

两个链接可以帮助您解决问题,如果您使用

http://dotnetdebug.net/category/com-interop/

http://resources.esri.com/help/9.3/arcgisengine/dotnet/e6532ba4-d769-48a6-8bc4-8592352b9bf4.htm

Inspecting an instance of a COM / Interop class properly in VS.Net's debugger?

http://dotnetdebug.net/2005/09/10/runtime-callable-wrapper-internals-and-common-pitfalls/

票数 3
EN

Stack Overflow用户

发布于 2019-02-02 01:20:03

在visual studio中,如果打开“工具”、“常规选项”,然后调试“>>常规”,请确保选中了“使用托管兼容模式”选项。这应将com对象显示为其在调试器中的正确类型。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3026540

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档