.NET: Можно ли регистрировать вызовы методов сборки .NET? - PullRequest
4 голосов
/ 30 апреля 2010

Можно ли регистрировать вызовы методов .NET, сделанные во время работы приложения?

Ответы [ 4 ]

1 голос
/ 04 мая 2010

Craig,

Вы можете попробовать Runtime Flow (разработано мной). Это новый продукт, который не может, например, отлавливать параметры функций, но его основное назначение - регистрировать вызовы методов .NET, сделанные во время работы приложения.

В настоящее время Runtime Flow лучше всего работает с доступным исходным кодом, но его можно настроить для мониторинга DLL без исходного кода.

1 голос
/ 30 апреля 2010

Perhpas вас интересует один из следующих вариантов:

  1. Использовать существующий профилировщик для визуализации вызовов методов .NET. Это зависит от профилировщика и его функциональности, но ANTS или DotTrace прекрасно работают, если вам не нужно что-то совершенно особенное.

  2. Если вас интересует низкоуровневая реализация, включая состояние кучи на момент вызова, вас может заинтересовать WinDBG + Sos и его параметры трассировки (команда wt). Просто установите точки останова в WinDbg, запустите приложение и собирайте трассировки, включая вызовы низкого уровня.

  3. В случае, если для регистрации существует неявное требование, вы можете использовать API профилирования .NET (C ++) и регистрировать все, что вы хотите, или API профилирования из dotTrace profiler (C #) (поставляется с dotTrace).

    Надеюсь, это поможет.

1 голос
/ 30 апреля 2010

да используйте postsharp . Изучите руководство «Приступая к работе», оно в значительной степени расскажет вам, как делать то, что вы хотите. Используя postsharp, вы можете «регистрировать» вызовы методов в любой сторонней сборке.

1 голос
/ 30 апреля 2010

Да. Я обычно использую это: http://www.jetbrains.com/profiler/ (есть бесплатная пробная версия).

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