Как сравнить пути выполнения в .NET? - PullRequest
3 голосов
/ 12 февраля 2010

Я отлаживаю в исходном коде .NET Framework, чтобы найти ошибку в моем приложении . У меня есть два аналогичных входа для кода, где один показывает ошибку, а другой нет. Однако следовать по пути кода в исходный код .NET довольно сложно.

Мне нужен инструмент, который можно запустить для обоих входов и сравнить результаты, чтобы увидеть, какие пути кода взяты, как отличаются внутренние значения и т. Д.

Это доступно для .NET?

Ответы [ 6 ]

3 голосов
/ 12 февраля 2010

Вы можете попробовать nCover . Он может показать вам информацию о покрытии кода, которая может помочь вам определить, какие ветви используются при возникновении ошибки.

0 голосов
/ 24 февраля 2010

Попробуйте бесплатную EQATEC Tracer - она ​​делает в точности то, что вы ищете.

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

Взгляните на ключевые особенности здесь: http://www.eqatec.com/tools/tracer/features

- и получите это здесь: http://www.eqatec.com/tools/tracer

Редактировать: Извините, я пропустил часть о необходимости копаться в фактический код платформы .NET. Трассировщик не может сделать это простым способом.

0 голосов
/ 13 февраля 2010

Попробуйте использовать профилировщик:

Если у вас есть версия EnterpriseVisual Studio 2008 (или другой версии)

0 голосов
/ 12 февраля 2010

Инструмент охвата тестов SD C # покажет вам, какой код выполняется, если вы запускаете свои тестовые примеры отдельно.

Он также будет вычислять разницу между охватываемым кодом для каждого случая, если вы попросите это сделать. Эта разница будет кодом, который выполняет один тест, а другой нет. Вероятно, именно в этом ваша проблема.

Это не поможет вам получить исходный код для .NET Framework.

0 голосов
/ 12 февраля 2010

Как предполагает Митч, проверьте профилировщик, возможно ANTS . Он даст вам все вызовы методов, чтобы вы могли видеть все, что происходит.

0 голосов
/ 12 февраля 2010

Вы можете попробовать JetBrains DotTrace и просто игнорировать время. Они предлагают бесплатную 30-дневную пробную загрузку.

...