Visual Studio: как отладить библиотеку с помощью внешнего исполняемого файла? - PullRequest
7 голосов
/ 06 октября 2010

Я занимаюсь разработкой библиотеки классов. Библиотека должна использоваться другой программой, .exe без исходного кода. Расположение файла библиотеки передается как параметр в этот exe-файл, например, с помощью команды: prog.exe lib.dll

Я бы хотел отладить библиотеку, используя этот .exe (используя средства отладки, такие как точки останова и т. Д.) Как мне использовать Visual C # для этого?

Я нашел возможный способ, который заключается в создании однострочной программы, которая выполняет prog.exe lib.dll. Конечно, есть лучший способ?

Ответы [ 3 ]

3 голосов
/ 06 октября 2010

В опциях отладки проекта выберите «Запустить внешнюю программу» и введите путь к исполняемому файлу. При запуске отладки VS запустит exe-файл, подключите его как отладчик.

Когда ваша библиотека загружена, любые точки останова в вашем коде активируются.

Одно предостережение: если внешняя программа загружает созданную вами dll, все может быть (в лучшем случае) странным, если она загружает другую версию, которая не соответствует исходному коду.

1 голос
/ 06 октября 2010

Если у вас уже есть внешняя программа, которая использует вашу библиотеку (которая, как я предполагаю, также является приложением .net), вы можете запустить эту программу и подключить к процессу отладчик ( Debug -> Присоединить к процессу в меню).Затем вы сможете установить точки останова в коде библиотеки классов и отладить его.Убедитесь, что исполняемый файл использует файл dll и pdb, синхронизированный с вашим кодом (последняя сборка).

0 голосов
/ 08 декабря 2011
  1. Вы можете попробовать windbg.с расширением sos можно практически все, что вы делаете с Visual Studio.
  2. Если все, что вам нужно, это отладить библиотеку, то почему вы не можете загрузить эту библиотеку в созданный вами исполняемый файл и войти внутрьбиблиотека,
...