Просмотр кода отлаженного .Net приложения ДО создания исключения - PullRequest
0 голосов
/ 17 июля 2009

Я подключился к работающему приложению .net 1.1 с использованием Visual Studio 2008. У меня есть символы отладки и код на локальной машине. Если возникает исключение, код всплывает нормально. Однако я не могу понять, как просмотреть код и установить точку останова превентивно.

Есть трюк?

Ответы [ 4 ]

1 голос
/ 17 июля 2009

Прежде всего, возможно, было приложением .NET 1.1, но вы не используете .NET 1.1 в VS2008 - вы используете .NET 2.0.

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

0 голосов
/ 17 июля 2009

Мой контрольный список отладки:

  • Убедитесь, что вы подключаетесь к процессу с использованием правильного типа кода - если ваш процесс имеет как неуправляемый, так и управляемый код, не полагайтесь на «auto», чтобы работать на вас, явно укажите, какой код вы пытаетесь отлаживать
  • Перейдите в окно модулей (Отладка -> Windows -> Модули, вам может потребоваться включить его в меню «Настройка ...»
  • Убедитесь, что сборка, которую вы пытаетесь отладить, была загружена и что символы были загружены - если они не были загружены, щелкните правой кнопкой мыши на этом модуле и выберите «загрузить символы»
  • Откройте файл кода и разместите точку останова - если она появляется с небольшим предупреждающим символом, посмотрите и посмотрите, что он говорит,
  • Возможно, вам потребуется перейти к «Инструменты -> Параметры -> Отладка -> Общие» и снять флажок «Включить только мой код (только управляемый)» *
  • Вы также можете снять флажок «Требовать, чтобы исходные файлы точно совпадали с исходной версией», если вы считаете, что ваши источники могут быть немного устаревшими (однако остерегайтесь, так как это может привести к отладке с совершенно неверными источниками, которые могут очень сбивает с толку)

В некоторых случаях вы можете обнаружить, что ваш модуль не загружается в тот момент, когда вы присоединяете отладчик (например, если у вас есть какой-то плагин в archetecutre, а сборки плагинов загружаются только при первом их использовании) , В этих случаях все, что вы можете сделать, это попробовать и убедиться, что все готово к загрузке модуля.

0 голосов
/ 17 июля 2009

cordbg.exe может отлаживать процессы .Net 1.1, и он есть в SDK 1.1, но его использование довольно болезненно. Также Windbg с оригинальным SOS. Вот хорошая шпаргалка SOS для Windbg.

0 голосов
/ 17 июля 2009

Хит Debug > Break All. После того, как приложение приостановится, откройте соответствующий исходный файл, и он должен позволить вам установить точку останова перед продолжением нажатия.

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