0

DLLを作成しました。ソースコードをコンパイルしてリンクすることができます。実行中は何とか正常に動作しますが、特定の状況ではクラッシュします。この時点で、VCは私にBreakまたはContinueのどちらかを尋ねるウィンドウを表示しますが、コード内のエラーがどこにあるかはわかりません。vcデバッグ中にソースコードのバグの位置が見つかりました

私の質問は、エラーが発生したコード位置にブレークポイントを直接設定できるようにVCデバッグを設定することは可能ですか?または、どのようにしてソースコードのバグの位置を見つけることができますか?

p.s.私はちょうど私の問題についての更新を与えたい、

MessageBox(NULL, NULL, NULL, NULL); 
+2

「ブレーク」を選択した場合、エラーが発生した位置に移動しませんか? –

+0

いいえ...「いいえ、ソースがありません、シンボルがスタックフレームにロードされていません」というメッセージが表示されました。何か案が? – OISS

+0

次に、デバッグビルドではなく、リリースビルドを実行しているようです。あなたはこれをチェックしましたか? –

答えて

0

使用を使用しています。私はコードのバグを見つけました。これは、初期化されていないメモリアドレスをとったポインタ型の変数です。私のDLLのコード行はまったく正しいもので、何の問題も生じませんでした。しかし、コードの外では、この変数を使用するDLLはアクセス保護エラーを受け、プログラム全体のクラッシュダウンにつながります。

この問題は、コードのタイマー値に基づいていることがわかりました。幸いにも私のDLLを呼び出すマザープログラムは、ウィンドウが完全にクラッシュする前に、このエラーが発生した時点を伝えることができます。

0

こんにちは:私はVC Expressの2010

関連する問題