2017-02-02 10 views
2

У меня есть проект, в котором ссылочные сборки имеют доступные файлы символов. И pdb, и исходные файлы сами. (это все мои собственные библиотеки). Все символы перечислены в разделе «Инструменты/Параметры/Отладка/Символ», обозначающие их местоположения. Все отлично.Visual Studio: откройте исходный файл символа до отладки и установите точку останова

Но он работает с ними, я хотел бы знать:

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

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

Есть ли способ, если я знаю файл и строку кода, которую хочу разбить, открыть этот файл в VS и установить точку останова напрямую?

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

tx

ответ

0

OK. Знал, что должен быть способ. И это очень просто.

Как указывалось выше, если у вас есть символ и источник доступных для пакетов NuGet вы работаете выполните следующие действия:

  1. открыть основной проект под вопросом в Visual Studio.
  2. В VS, щелкните Файл/Открыть файл ...
  3. Под папкой ПАКЕТЫ найдите пакет для ссылки, которую вы хотите установить точку останова.
  4. В этом пакете найдите папку исходного кода, которая была упакована вместе с файлом pdb.
  5. Там вы найдете исходный код. Теперь найдите файл, в который вы хотите разместить точку останова. Щелкните этот файл, чтобы открыть файл в Visual Studio.
  6. Этот файл теперь открыт в вашем VS viewer, но он не включен в качестве нового файла в ваш проект (хорошо).
  7. Место точки останова, где вы хотите.
  8. Запуск решения. Теперь вам не нужно проходить через все ваше решение, чтобы получить код, который вы хотели бы просмотреть с помощью этой точки останова!

какое облегчение!

+0

рад узнать, что вы решили эту проблему, спасибо за ваш обмен, вы можете отметить это как ответ, так что это может помочь другим членам сообщества, которые отвечают одной и той же проблеме :) –

+0

Что это за папка «ПАКЕТЫ» ссылаясь на? –

1

Я уверен, что код, который вы хотите поставить точку останова, находится в функции (;)), поэтому я бы использовал параметр New breakpoint из Visual Studio. Это позволяет вам поместить имя метода, которое VS должно сломать при вводе метода (так в основном на первом { после имени функции).

После нажатия CTRL + B вам будет представлен с диалоговым enter image description here

Здесь указывается имя функции, которую вы хотите поставить точку останова.

Вы можете просто указать только имя (например, AppendText) или полное имя (с пространством имен - System.Windows.Forms.TextBoxBase.AppendText). Если вы хотите сузить его до конкретного пользователя модуля module_name!function_name. При необходимости вы можете указать, на какой из перегруженных функций вы хотите разбить.

Вся эта информация вы можете получить, наведя значок (i) в этом диалоговом окне.