.NET-как отлаживать DLL?

Мне нужно отладить проект библиотеки классов, который предоставляется основному проекту (an ASP.NET веб-сайт) как DLL. Например, мне нужно поставить некоторые точки останова, чтобы проверить, что происходит во время выполнения.

пробовал как: отладка из проекта DLL, к сожалению, это не сработало...

Как я могу это сделать?

PS: у меня есть исходный код!

3 ответов


отладка DLL в Visual Studio (см. № 2 в списке) может быть то, что вы ищете (полное раскрытие: Да, это мой личный веб-сайт).

  • с помощью метода #1 Вы не можете смотреть переменные.

  • с помощью метода #2, Шаг #2, Если вы не можете открыть проект в том же экземпляре Visual Studio, вы можете запустить двоичный файл проекта (то есть запустить его за пределами Visual Studio, но убедитесь, что вы запустите отладку версия.) и прикрепите к нему отладчик Visual Studio (menu Debug ->присоединить к процессу).

вот шаги для метода #2, поэтому никто не должен следовать по ссылке:

присоединение процесса using к проекту DLL. Это включало подключение отладчика Visual Studio к запущенному процессу.

  1. откройте проект DLL в Visual Studio.
  2. запустите приложение, которое использует DLL. Этот приложение от него нельзя убежать. другой экземпляр Visual Studio с момента процесс уже будет иметь отладчик прикрепленный к ему.
  3. отсюда вы можете добавить точки останова и пошагово код DLL, загруженный в Visual Studio (хотя точка останова отключены то же, что и в методе 1).

Если у вас есть исходный код, и .pdb-файлы в каталоге BIN, затем вы можете отлаживать этот код. Однако необходимо включить отладку внешнего кода в Visual Studio.

вам нужно снять флажок" Включить только мой код": menu инструменты -->опции -->отладка -->Включить Только Мой Код

Примечание: это будет работать только для .NET сборки.


когда вы создаете проект библиотеки классов, то .pdb-файл создается в папке Debug или Release папка из библиотеки классов. На эти два файла ссылаетсяASP.NET проект при щелчке правой кнопкой мыши и выберите опцию "Добавить ссылку" и укажите на DLL-файл проекта библиотеки классов.