Я пытаюсь настроить индексацию исходного кода с помощью Visual Studio 2010 и включенных сценариев perl из Windows SDK (в моем случае, Windows 8), используя Perforce в качестве источника контроля
Для Windows 8 SDk
C: \ Program Files (x86) \ Windows Kits \ 8.0 \ Debuggers \ x64 \ srcsrv
Из блога Брюса Доусона (ссылка ниже), он может быть найден здесь для старых SDK
C: \ Program Files \ Средства отладки для Windows (x64) \ srcsrv
Мои pdb индексируются, и при ручном просмотре pdbs, а также при запуске следующей команды будут правильно извлекаться исходные файлы.
srctool -x test.pdb
Это может быть неправильное понимание того, как это связано с Visual Studio, но моя проблема связано с локальным редактированием файлов.
С сайта MSDN (также ссылка ниже):
Когда на локальной машине нет исходного кода или файл PDB не соответствует исходному коду, Вы можете использовать Source Server, чтобы помочь отладить приложение
Кажется, что во втором случае VS должен запустить команду, чтобы получить исходный код, но, похоже, он не работает для меня. Дело № 1 работает так, как я ожидал, но мне нужно, чтобы дело № 2 заработало, прежде чем это будет полезно. Кроме того, я включил «Диагностику исходного сервера печати в окне вывода» и не получаю никаких ошибок или предупреждений.
Должен ли этот второй случай вызывать загрузку версии исходного файла при индексировании pdb? Или я что-то недопонимаю?
Спасибо!
редактировать
Это работает, как я ожидаю, в windbg, так что, похоже, это специфично для Visual Studio
Рекомендации:
http://www.altdevblogaday.com/2011/11/08/source-indexing-is-underused-awesomeness/
http://msdn.microsoft.com/en-us/library/vstudio/ms242029(v=vs.100).aspx
Спасибо за выявление этой проблемы. Мы исправили проблему, и это изменение будет отражено в будущих выпусках Visual Studio (не в обновлениях до 2013 года). Мы надеемся, что это исправление улучшит ваш опыт использования наших инструментов и технологий.
В частности, мы изменили поведение отладчика в соответствии с тем, что WinDbg делает в этом случае. Мы позволим вам загрузить соответствующий исходный файл с исходного сервера, если временный файл на диске не совпадает с тем, что вы отлаживаете.
Других решений пока нет …