Отладка библиотеки dll на c#

#c#

#c#

Вопрос:

При поиске библиотеки DLL для отладки c # я наткнулся на эту статью.

http://msdn.microsoft.com/en-us/library/c91k1xcf(v=VS.100).aspx в котором говорится

Вы можете начать отладку библиотеки DLL с:

Проект, используемый для создания исполняемого файла, вызывающего библиотеку DLL. или проект, используемый для создания самой библиотеки DLL.

У меня есть исходный код (C #) для исполняемого проекта, а также для библиотеки DLL.

Мой проект DLL находится в другом решении.

Я хочу отладить библиотеку DLL из моего exe-проекта. Как мне поступить с этим. Я искал goole, но без каких-либо подробных шагов. Я также добавил проект DLL в решение exe project и добавил точки останова в исходный код для library project. Но точка останова никогда не достигается. Как отладчик узнает, что я загрузил исходный код для библиотеки DLL. Я что-то упускаю?


Обновить:
Следуя предложениям Авитуса и Мика, я добавил проект DLL в exe-решение. Также добавлена ссылка на проект DLL, и были достигнуты точки останова.

Я также попытался отладить ее через проект DLL с помощью

проект—свойства—Отладка и установка exe-файла во внешней программе запуска. В этом случае точки останова не были достигнуты, он продолжал говорить, что символы отладки не загружены. Я перепробовал все варианты здесь без какого-либо успеха, для конфигурации было установлено значение Active (Отладка). Информация об отладке была установлена на полную. В Tools—options—debugging (флажок Включить только мой код [Управляемый код] снят) В Tools—options—debugging—symbols у меня были все модули, если не выбрано значение excluded, а список Specify excluded modules пуст. По какой-то причине этот метод не сработал.

Комментарии:

1. разве вы не можете просто использовать оба проекта в одном решении, а затем ссылаться на свой dll-проект из вашего exe-проекта?

2. Или задайте в качестве цели отладки библиотеки dll исполняемый файл.

3. @Avitus.. Я не хочу менять какой-либо код для отладки.

4. @Ritch…. Я пробовал этот вариант, но по-прежнему точка останова не достигнута.

5. @Talk2Me для решения Ritch убедитесь, что файл .pdb находится в том же расположении, что и dll, которая используется во время выполнения

Ответ №1:

У библиотеки DLL должна быть база данных отладки, или, по сути, вы должны включить решение библиотеки DLL в решение, в котором вы бы его отлаживали.

Также в Visual Studio есть функция Create Test, которая генерирует набор тестов для методов и функций.

Комментарии:

1. Я добавил проект моей библиотеки DLL в свое решение. Но мой вопрос в том, как visual Studio узнает, что она должна указывать на фактический код, а не на методы DLL.

2. @Talk2Me вы должны убедиться, что ваш проект .exe использует ссылку на проект (когда вы добавляете ссылку, добавьте ее на вкладке «Проекты»)

3. @Mick… Большое вам спасибо, что сработало. Это сэкономило много времени.