Подтвердить что ты не робот

Как установить точку останова в ссылочном коде в Visual Studio?

Мое главное решение - использовать код из библиотеки классов утилиты, который я написал сам, но является частью другого решения. Как установить точку останова в указанном DLL файле?

4b9b3361

Ответ 1

Нажмите "Отладка", "Новая точка останова", "Разрыв в функции", затем введите полное имя функции.

Ответ 2

В Visual Studio откройте исходный файл указанной библиотеки DLL, который содержит нужный метод, вручную с помощью меню

Файл> Открыть> Файл...

Затем установите точку останова, нажав на левую границу в редакторе кода. Это позволяет вам разбивать любую строку кода, а не только вызовы функций. Visual Studio показывает точку останова в неактивном состоянии, потому что считает, что код недоступен. Просто игнорируй это; точка останова станет активной после запуска кода и загрузки DLL.

Примечание: вы должны ссылаться на отладочную версию вашей сборки, чтобы это работало.

Ответ 3

Вы можете выполнить одно из следующих действий:

  • Добавьте проект DLL в решение, содержащее ваш исполняемый файл. Затем вы можете установить контрольные точки как обычно.
  • Вместо этого вы можете просто открыть проект DLL и использовать Debug → Attach to Process для присоединения к вашему исполняемому EXE

Ответ 4

Убедитесь, что у вас есть файл .pdb в папке bin/debug, где находится dll-библиотека библиотеки ссылок. Когда вы отлаживаете свое текущее решение, вы можете войти в код из своей библиотеки классов. Когда вы войдете в библиотеку классов, вы сможете установить точки останова.

Ответ 5

Я знаю, что это старый вопрос, но может помочь многим.

Чтобы отладчик работал правильно, вам нужно загрузить базу данных символов отладки, файл .pdb с тем же именем, что и сборка, которую вы хотите отлаживать. Если это часть решения, которое вы создали, вы можете просто скопировать и вставить его из другой папки bin решения. Затем добавьте точку останова, указав полный путь к методу, который вы хотите отладить, плюс имя сборки, в которой он находится. Пример: "MyNamespace.MayClass.MyMethod, MyAssemblyName"

Если вы не владеете кодом, у вас есть 2 варианта, оба с использованием disasembler. Я использую dotPeek для этого, так как это действительно качается.

Вариант 1: вы открываете сборку с помощью dotPeek и создаете для нее один файл .pdb, затем копируете его в папку .bin и выполняете шаги, описанные выше. https://www.jetbrains.com/decompiler/help/Generating_PDB_Files.html

Вариант 2: использовать сервер символов dotPeek и генерацию PDB. https://www.jetbrains.com/decompiler/help/Symbol_Server_and_PDB_Generation.html После этого следуйте приведенным выше инструкциям, чтобы прикрепить экземпляр отладчика.

Надеюсь это поможет

Ответ 6

Это не мой собственный ответ, это предложение Frep D-Oronge в одном из комментариев выше. Это легко и работает без икоты:

"Я нахожусь легко - просто запустите два экземпляра Studio рядом друг с другом. Ctrl-F5 на" первичной ", чтобы запустить без отладчика, а затем присоединить к процессу экземпляр студии, который редактирует проект библиотеки"

Все кредиты принадлежат ему.