Как отладки приложений с помощью интерфейсов COM?

StackOverflow https://stackoverflow.com/questions/3026540

Вопрос

Я создаю приложение, используя C #, который будет использовать модули CATIA COM. Когда я импортирую COM внутри моего проекта C #, я думаю, что Visual C # Express создает взаимозависимость автоматически для меня.

Все это работает правильно. Однако, когда я пытаюсь отладить приложение и использовать часы во время выполнения, каждый объект является System.__ComObject И я не могу получить свою «реальную» ценность.

Есть ли способ сказать отладчику типов моими объектами COM?

Цель состоит в том, чтобы получить более знакомые с помощью этой новой API, я не знаю очень хорошо. Иногда его довольно трудно угадать правильные типы для всего, поскольку иерархия интерфейса довольно глубокая

Это было полезно?

Решение

Вы не публикуете пример кода, где у вас есть проблема. В основном это зависит от Как вы создаете или отливите объект который вы хотите увидеть в отладчике (создайте экземпляр объекта с new всегда лучше, если это возможно, потому что). Вы должны искать информацию о Runtime Callable Wrapper (RCW). Это «парень», который не может понять, что вы хотите.

Кстати, если вы можете использовать Visual Studio 2010, ваш живой может быть легким (см. 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.

Проверяя экземпляр класса COM / Interop в отладчике VS.Net?

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

Другие советы

В Visual Studio, если вы открываете инструменты >> Параметры, а затем отладка >> Общие, убедитесь, что опция «Использовать режим совместимости», который он проверил. Это должно показывать COM объекты как свои правильные типы в отладчике.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top