Как отследить выполнение кода в C # - PullRequest
3 голосов
/ 28 января 2010

как я могу отследить выполнение кода моего приложения на C #?Есть ли инструменты?У меня есть проблема на моей производственной площадке.

Ответы [ 7 ]

8 голосов
/ 28 января 2010

В визуальной студии есть встроенный инструмент, который называется отладчик .

Вы устанавливаете точку останова в своем коде и проходите.

.NET Framework также предоставляет классы трассировки в пространстве имен System.Diagnostics .

Для работающего приложения, которое не поддерживает код для трассировки, вы можете использовать профилировщик (например, профилировщик redgate ANTZ или JetBrains dotTrace), но это повлияет на производительность.

Если у вас есть дамп памяти (либо из-за сбоя, либо , вызванный вручную ), вы можете использовать windbg для анализа дампа. Это будет включать информацию о трассировке.

4 голосов
/ 28 января 2010

Есть также JetBrains dotTrace , что отлично.

1 голос
/ 28 января 2010

Вы можете использовать некоторую внешнюю библиотеку журналов (например, Log4Net ) или даже использовать способность Visual Studio выполнять удаленную отладку и входить в код.

1 голос
/ 28 января 2010

Можете ли вы в своем коде записать отладочную информацию (например, "теперь в методе 1") в файл журнала?

Вам могут пригодиться такие инструменты, как log4net и PostSharp .

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

Для отслеживания проблем производства лучшим вариантом является трассировка ETW. Особенно в ASP.NET есть встроенные поставщики, которые могут помочь идентифицировать проблемы Perf.

И если вы используете Window2008, то трассировки ETW могут давать стеки вызовов. Есть трассировка ETW от IIS, FileSystem, Registry, Threading и все возможное. Вот MSDN статья на эту тему, и для получения управляемых стеков вызовов у меня есть несколько сообщений

0 голосов
/ 28 января 2010

Visual Studio имеет отличный инструмент для отладки, однако, если этого недостаточно, чтобы его было недостаточно, вы можете начать с инструментов статического анализа кода, которые полезны для анализа ветвей кода.

0 голосов
/ 28 января 2010

В Visual Studio 2005+ нажмите F11 вместо F5, чтобы запустить приложение.

Или вы можете вставить точку останова (щелкнув слева от строки, где вы хотите разбить, чтобы VS показала красную точку).

...