6

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

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

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

ответ

1

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

+1

курьерские не имеют функции для отладки внешних процессов : http://msdn.microsoft.com/en-us/library/c6wf8e4z.aspx – Robert

2

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

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

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

+0

«Запустить внешнюю программу» не отображается в опции отладки проекта. У меня есть только аргументы командной строки и рабочий каталог. Я попытался добавить путь к аргументу командной строки, но он до сих пор не позволяет отлаживать. –

+0

Это потому, что у меня есть экспресс-издание? –

+0

@Louis: это может быть проблемой (не имеют экспресс, поэтому не можете проверить). – Richard

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

 Смежные вопросы

  • Нет связанных вопросов^_^