Как войти в вызов метода или конструктора dll, чтобы он запрашивал источник? - PullRequest
3 голосов
/ 25 октября 2011

У меня есть общая dll, которую я использую для своего проекта.Мы создали пакет nuget и используем его локально в моей компании.

Однако теперь я получаю исключение нулевой ссылки из этой библиотеки.Если я попытаюсь войти в него (F11), он просто перешагнет через него.

Теперь я пришел из истории Delphi, и в Delphi вы могли бы предоставить код для библиотеки, и он позволит вам пройти черезэто.

Я надеюсь, что есть способ сказать: «Вот код, пожалуйста, пройдите по нему, как если бы я использовал dll.»

В противном случае я собираюсьдолжны пойти и изменить ссылки на эту DLL, а затем добавить код в проект.Я могу это сделать, но, похоже, должен быть более легкий путь.

Ответы [ 3 ]

5 голосов
/ 25 октября 2011

Попробуйте это

Перейдите в «Отладка» -> «Параметры и настройки» -> «Отладка» -> «Общие» -> «Снять флажок»: включите «Просто мой код», а затем попробуйте войти с помощью F11

Еще одна вещь, которую вы можете попробовать - это вручную загрузить символы других dll. Когда вы находитесь в режиме отладки (прежде чем войти в другой код DLL), перейдите в Debug-> Windows-> Modules. Он покажет вам все загруженные библиотеки. Щелкните правой кнопкой мыши на вашей DLL и вручную загрузите символы для него

1 голос
/ 25 октября 2011

Убедитесь, что ваша dll также отладочной сборки и файл .pdb, созданный с помощью dll, находится в том же месте, что и dll. Перестройте текущий проект, и вы сможете перейти к вызовам функций.

0 голосов
/ 25 октября 2011

Если у вас есть исходный код в другом проекте, попробуйте выполнить ваше приложение и подключиться к нему (в меню VS Отладка -> Присоединить к процессу). Yoy должен иметь возможность отладки внутри DLL.

Другой вариант - использовать .NET Reflector или ILSpy. Они позволяют вам выполнять отладку внутри DLL, если она не была отменена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...