Используйте официальные двоичные файлы библиотеки, не теряя возможность загружать исходные файлы по запросу. - PullRequest
2 голосов
/ 25 мая 2009

В проекте Visual Studio (2005/2008) я хотел бы использовать библиотеку с открытым исходным кодом. Я хотел бы дать ссылку на двоичные файлы, чтобы я не отвечал за правильную сборку и мог проверить эти двоичные файлы на сервере управления версиями (SVN).

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

Можно ли сообщить Visual Studio местоположение источника связанной двоичной библиотеки, чтобы такие вещи, как "перейти к определению" и отладка работали?

Ответы [ 2 ]

2 голосов
/ 25 мая 2009

Безусловно, если у вас есть символы pdb, все для вас сделано - посмотрите, например, на MFC, вы получите двоичные файлы, но сможете отлаживать их через источник.

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

0 голосов
/ 25 мая 2009

Это можно сделать несколькими способами.

  1. Как и предполагал gbjbaanb, вы можете использовать символы pdb. Это будет работать для обоих управляемых неуправляемого кода.

  2. Если вы используете .NET, вы можете отлаживать с помощью Reflector . Оран Деннисон написал как отлаживать с помощью Reflector и Visual Studio . Один из моих любимых инструментов - TestDriven.NET . Автор этого инструмента, Джейми Кэнсейл, также написал в блоге о том, как отлаживать с помощью Reflector , когда у вас есть TestDriven.NET. В своей статье Джейми имеет ссылку на screencast , где он демонстрирует, как сделать это шаг за шагом.

  3. Наконец, если вы используете для своего клиента SVN, такого как TortoiseSVN, вы можете добавлять файлы / каталоги с момента регистрации. Подробнее как игнорировать файлы и каталоги с помощью TortoiseSVN.

...