2009-03-02 5 views
1

デバッグするソリューションにDLLプロジェクトがあります。呼び出し元アプリケーションは別のパスにあり、DLLはそのパスの内側に配置する必要があります。私がデバッグバージョンをビルドし、生成されたDLLを呼び出し元のアプリケーションのパスにコピー&ペーストすると、シンボルが存在せず、プロジェクトによってバイナリがビルドされていないというエラーメッセージが表示されます。それは私が続行したいかどうか私に尋ねる。このメソッドは、Visual C++ 6.0で動作するために使用されましたが、今はブレークポイントに到達しません。どのようにVS2005でこれを行うのですか?VS2005でのDLLのデバッグ(C++)

ありがとうございました。

+0

ランタイムエラーが発生していますか? – dirkgently

+0

いいえ、実行時エラーはありません。:) – krebstar

答えて

4

dllのpdbファイルもアプリケーションのパスに含まれていることを確認してください。

または、MSVC 6.0で使用されていた古いスタイルのデバッグ情報をトリガする/ Z7コンパイラオプションを使用してdllをコンパイルします。このようにコンパイルすると、dllだけをコピーすることができます。

または、[モジュール]ウィンドウで、dllを右クリックして[シンボルを読み込む]を選択し、オリジナルの dllの場所を指定します。

+0

ありがとう、非常に詳細で便利です。 – krebstar

+0

Btw、/ Z7オプションを使用することに不利な点はありますか?これにはDLL内のシンボルが含まれているため、DLLが大きくなり安全性が低くなりますか? ModulesウィンドウのDLLをポイントし、Load Symbolsを選択する方が良いでしょうか?ありがとう – krebstar

+0

シンボルは実際にDLLに入れられ、大きくなります。 私は最も簡単な解決策は、単にdllファイルとpdbファイルの両方をコピーすることだと思います。 – eli

1

また、< dll>をコピーしてください。 PDB

+0

ありがとう、明日これを試してみてください:) – krebstar