Предварительные настройки для поиска исходных файлов в Visual С++ 6.0

Из-за устаревшего характера некоторых наших кодов мы все еще используем Microsoft Visual 6.0 (SP6). Когда я присоединяюсь к запущенному процессу для его отладки в первый раз, он не знает, где находятся исходные файлы, когда я врывался в процесс. Поэтому он просит меня перейти к соответствующему каталогу в моем исходном дереве, учитывая имя исходного файла. Он запоминает эти каталоги, поэтому мне не нужно дважды вводить один и тот же каталог, но он все еще болезнен.

Есть ли способ предварительной настройки VC6 со всеми исходными файловыми каталогами в моем дереве? Обратите внимание, что наш проект построен с использованием make файлов (с использованием nmake), а не через DSP.

Ответ 1

Пути к исходным файлам записываются в информацию отладки (Program Database,.pdb). Сделайте дерево сборки на вашей машине таким же, как и на машине, на которой она была построена.

Ответ 2


Да.
перейдите в


ИНСТРУМЕНТЫ
ВАРИАНТЫ
СПРАВОЧНИК (вкладка)

, и вы можете установить адреса каталогов SOURCES/LIBRARIES/INCLUDE. Эти значения применяются ко всем проектам в рабочей области.


Я не знаю, будет ли настройка этих значений позволять видеть информацию с помощью прямых make файлов.

Ответ 3

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

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

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

REGEDIT4

[HKEY_CURRENT_USER\Software\Microsoft\Devstudio\6.0\Build
System\Components\Platforms\Win32 (x86)\Directories]
"Source Dirs"="<path1>;<path2>"

Это не так уж плохо и, конечно же, сделает трюк.

Однако решение, на котором я остановился, устанавливал переменную среды SOURCE, чтобы содержать все исходные пути (в виде списка каталогов, разделенных точкой с запятой). Очень простой командный файл мог бы сделать это и разрешить переключение между разными деревьями. Затем вы запускаете Visual С++ из командной строки, используя опцию, сообщающую ему из чтения SOURCE (и INCLUDE, LIB и PATH) из среды:

msdev /useenv

В разделе Tools- > Options вы увидите, что каталоги из SOURCE действительно загружены. Затем я смог подключиться к запущенному процессу, и отладчик смог найти любой код, в который я отлаживался.

Жизнь просто стала намного проще!