Как установить точку останова при отладке скомпилированного исполняемого файла, когда источник находится на исходном сервере

Привет всем,

Мой вопрос:

Как установить точку останова при отладке двоичного исполняемого файла в Visual Studio 2017, где у меня нет источников на моей локальной машине?

Настройка:

  • Win 10 PC с установленной Visual Studio 2017
  • git в качестве исходного хранилища в локальной сети
  • TeamCity в качестве Build Server также в той же локальной сети
  • TemaCity настроен как сервер символов и исходного кода в Visual Studio

Процесс:

  1. Код пишется на локальном компьютере и записывается в репозиторий git.
  2. TeamCity строит новые двоичные файлы из-за фиксации
  3. TemaCity также индексирует символ и исходные файлы

Эта проблема:

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

Но вернемся к вопросу... Как мне установить точку останова, когда я хочу исследовать, что делает двоичный файл, если он не падает?

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

1 ответ

Вызвать отладчик из вашего кода с помощью:

Debugger.Launch();

Просто поместите это утверждение в положение, где вы хотите, чтобы ваш код сломался.

См. https://docs.microsoft.com/en-us/dotnet/api/system.diagnostics.debugger.launch?view=netframework-4.7.2

Другие вопросы по тегам