Подтвердить что ты не робот

Как заставить Visual Studio запрашивать исходный путь после получения: "Для текущего местоположения нет исходного кода".

Иногда в режиме отладки я пытаюсь посмотреть код на некотором уровне стека вызовов, и я получаю сообщение об ошибке:

Исходный код недоступен для текущего местоположения.

Я знаю, что это значит. Если я знаю, где находится файл, как я могу передать исходный файл Visual Studio?

В первый раз он дает мне окно просмотра для поиска, но в это время у меня не было кода. Когда я загрузил его из SVN и попытался (после перезагрузки всего компьютера) снова получить код, я получаю сообщение об ошибке.

Пожалуйста, не объясняйте мне, что Visual Studio не может найти файл и из-за этого дает разборку, я это знаю. Я искал вариант, чтобы дать ему файл.

4b9b3361

Ответ 1

В Visual Studio (по крайней мере с v.2005) вы должны проверить свойства Solution:

В обозревателе решений щелкните правой кнопкой мыши по Solution -> Properties -> Common Properties -> Debug Source Files.

Здесь есть список: "Не ищите эти исходные файлы:" - удалите (все) записи из этого списка, затем VS должен снова запросить исходный путь.

Вот скриншот от VS 2013 Express:

VS 2013 Debug Source Files - Settings

Ответ 2

Ни один из вышеперечисленных шагов не работал корректно в VS 2013 для меня.

После удаления неправильного пути источника из списка Solution → Properties → Common Properties → Debug Source Files, закрывающего все экземпляры Visual Studio, каждый раз, когда я запускаю и вступаю в код, я вижу, что диалог с файлом всплывать и уходить, а затем VS снова перейдет в неправильное исходное местоположение.

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

Наконец, я снова открыл решение, перешел в список Solution → Properties → Common Properties → Debug Source Files и изменил неправильное исходное местоположение на правильное (т.е. вместо его удаления). Затем я Ctrl + Shift + S, чтобы сохранить все, выйти из VS, снова запустить VS и начать сеанс отладки. На этот раз он перешел к правильному коду.

Итак, если выше не работает для вас, есть проблема в VS 2013 с кешированием пути, который предотвращает удаление из работы, и вы должны изменить существующий путь.

Ответ 3

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

Перейдите в Инструменты → Параметры → Отладка → Символы. В разделе "Все модули, если не указано исключение", есть кнопка ссылки "Укажите исключенные модули". Откройте этот диалог, и я думаю, вы найдете там свои модули.