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

snz8szmq  于 2022-11-14  发布在  其他
关注(0)|答案(2)|浏览(202)

我正在使用C#构建一个应用程序,该应用程序将使用CATIA COM模块。当我将COM导入到C#项目中时,我认为Visual C# Express会自动为我生成Interop。
但是,当我试图调试应用程序并在运行时使用监视时,每个对象都是一个System.__ComObject,我无法获得它们的“真实的”值。
有没有办法告诉调试器我的COM对象的类型?
我们的目标是更熟悉这个新的API,我不是很了解它。有时候很难猜出所有东西的正确类型,因为接口层次结构很深。

zpgglvta

zpgglvta1#

你不会在你有问题的地方发布代码示例。主要取决于你如何创建或转换一个对象,你想在调试器中看到它(当然,如果可能的话,用new创建一个对象的示例总是更好)。你应该搜索关于运行时可调用 Package (RCW)的信息。这是一个不理解你想要什么的“家伙”。
顺便说一句,如果你能使用Visual Studio 2010,你的生活会更轻松(请参阅Link)。
如果您使用以下两个链接可以帮助您解决问题
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/

dddzy1tm

dddzy1tm2#

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

相关问题