2

一部のコードのレガシーな性質のため、Microsoft Visual 6.0 (SP6) を引き続き使用しています。初めてデバッグするために実行中のプロセスにアタッチすると、プロセスに侵入したときにソース ファイルがどこにあるかがわかりません。したがって、ソース ファイル名を指定すると、ソース ツリー内の適切なディレクトリに移動するように求められます。これらのディレクトリは覚えているので、同じディレクトリに 2 回入る必要はありませんが、それでも面倒です。

ツリー内のすべてのソース ファイル ディレクトリを使用して VC6 を事前構成する方法はありますか? このプロジェクトは、DSP ではなく、makefile を使用して (nmake を使用して) ビルドされていることに注意してください。

4

3 に答える 3

1

ソース ファイルへのパスは、デバッグ情報 (プログラム データベース、.pdb) に記録されます。マシンのビルド ツリーを、それがビルドされたマシンと同じにします。

于 2008-09-30T23:16:55.470 に答える
0


はい。
に入る


TOOLS
OPTIONS
DIRECTORY (タブ)

で、SOURCES/LIBRARIES/INCLUDE ディレクトリの場所を設定できます。これらの値は、ワークスペース内のすべてのプロジェクトに適用されます。


これらの値を設定すると、直接メイクファイルを使用して情報を表示できるかどうかはわかりません。

于 2008-10-01T00:16:33.720 に答える
0

ソース ツリーを特定の最上位ディレクトリに意図的に関連付けたくないため、絶対パス情報は PDB ファイルに記録されません。デプロイ時に、ビルド マシンで使用されたのと同じ位置にソース ツリーをドロップすることはできません。

EvilTeachソリューションは確かに望ましい効果をもたらしますが、ソース ツリーは文字通り数百のディレクトリで構成されているため、手動で入力するのはやや面倒です。また、開発者が常に複数のソース ツリーから実行している可能性があるという問題もあるため、特定の実行可能ファイルをデバッグするときにそれらのツリーを切り替えることができることが不可欠です。

その後、レジストリを直接更新することで、プログラムで (少なくともコマンド ラインから) ソース ディレクトリのセットを切り替えることができることがわかりました。

REGEDIT4

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

それはそれほど悪くはなく、確かにうまくいくでしょう.

しかし、私が解決した解決策は、SOURCE 環境変数を設定して、すべてのソース パスを (セミコロンで区切られたディレクトリのリストとして) 含むようにすることでした。非常に単純なバッチ ファイルでこれを行うことができ、異なるツリーを切り替えることができます。次に、コマンド ラインから Visual C++ を実行します。オプションを使用して、環境から SOURCE (および INCLUDE、LIB、および PATH) を読み込みます。

msdev /useenv

Tools->Options の下を見ると、SOURCE からのディレクトリが実際にロードされていることがわかります。その後、実行中のプロセスにアタッチすることができ、デバッガーはデバッグ対象のコードを見つけることができました。

生活がとても楽になりました!

于 2008-10-06T05:05:45.777 に答える