Профилирование кода приложения ВСТО - PullRequest
4 голосов
/ 07 апреля 2010

Я ищу бесплатный профилировщик кода (профилировщик производительности, а не профилировщик памяти), который работает для приложений VSTO (в частности, Excel в моем случае, но я понимаю, что если он работает для одного, он должен работать для всех).

Я пробовал Eqatec Profiler, но он не может запустить приложение из профилировщика (кнопка «Запустить приложение» выделена серым цветом, и я собираю это потому, что приложение VSTO скомпилировано в dll, который работает в процесс с Excel.exe).

Если кто-то успешно использовал Eqatec или другой бесплатный профилировщик кода для профилирования приложения VSTO, мне было бы интересно узнать, как вы это сделали.

Ответы [ 2 ]

2 голосов
/ 09 апреля 2010

То, что вы делаете, должно быть возможно с EQATEC Profiler .

Когда вы просто подключаете одну или несколько библиотек DLL, тогда нет отдельного «приложения для запуска»: вы простоУ меня есть некоторые инструментальные библиотеки DLL, но профилировщик не знает, как вы собираетесь их использовать.

Однако инструментальные сборки (вместе с модулем времени выполнения EQATEC.Profiler.RuntimeFullNet.dll) всегдаполностью «самодостаточный», что означает, что они выполняют синхронизацию самостоятельно, как только используются методы внутри них.Так что вам просто нужно, чтобы ваше приложение VSTO загружало DLL как обычно и вуаля, DLL сама начнет накапливать информацию о синхронизации и начнет прослушивать соединение с профилировщиком, с помощью которого вы сможете делать снимки и т. Д.

Подводя итог:

  1. Создайте свою DLL и продолжите работу профилировщика
  2. Пусть ваше приложение VSTO загрузит DLL (как вы это делаете)
  3. Профилировщик и инструментированная DLLтеперь должен быть подключен (см. вкладку «Выполнить»)
  4. Из профилировщика вы теперь можете делать снимки

Надеюсь, это поможет.Если нет, то дайте мне знать.

0 голосов
/ 09 апреля 2010

Вы пробовали Microsoft CLR Profiler ?

Я использовал его с большим успехом много раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...