1

Windows 7 で Visual Studio 2010 を使用し、C++ で記述しています。私のプログラムには、プログラムで頻繁に使用する一連の関数を含む .dll があります。最近、.dll の変更でかなりのトラブルが発生しています。DLL で定義されている関数を変更するたびに、プログラムをビルドして実行すると、変更が反映されないように見えます。つまり、ソリューションを正常にビルド (または再ビルド) するたびに、DLL が適切に更新されていないと思います。

.cpp ファイル (DLL の代わりにユーザーから隠されるもの) のいずれかの関数にブレークポイントを設定しようとすると、Visual Studio は、コードが実行されず、ブレークポイントを設定できないことを通知します。そこの。ただし、今日の早い段階で、そこにブレークポイントを設定できました。

また、私の関数の 1 つは、Visual Studio のデバッグ出力に「Frame Received」を出力します。これはまだ起こっているので、明らかにこの機能のいくつかのバージョンがまだ機能しています。そこで、「Frame Received」を 10 回連続して出力して、変更が実際に有効になっているかどうかを確認しようと考えました。奇妙なことに、ビルドとクリーン/再ビルドの両方の後でも、プログラムは私の変更を無視したかのように、「Frame Received」を一度だけ書き込みます。

何が原因なのかはわかりませんが、先ほど言ったように、.dll が更新されていないか、Visual Studio が最新バージョンではなく古いバージョンの .dll を使用しているようです。いずれにせよ、これを修正する方法がよくわかりません。何か案は?

編集:以前、デバッグ中にブレークポイントを配置できない関数の1つにステップインしようとしたことを忘れていましたが、次のエラーメッセージが表示されました:

エラー

4

1 に答える 1

2

おそらく、ビルドの出力は、他のディレクトリにいくつか入っています。-outdir の設定を確認してください。

于 2013-04-24T13:24:21.613 に答える