2012-04-26 20 views
0

次のことは可能ですか?私はWindowsプログラミングにとって非常に新しいので、私が求めているのは、不可能から無意味なまでの範囲です。私が正しく理解すれば、ゼロ除算やアクセス違反などのエラーは、Windowsの構造化例外メカニズムによって処理されます。構造化された例外が発生したときにスタックトレースを含めて利用可能な情報の最大量をログファイルにダンプしたいと思います。私はMSVC10、windows 7を使用しています。C++でのSEHエラーのログ

編集:これは妥当なことですか?スタックには、デバッグに役立つ十分な情報、つまり関数の名前が含まれていますか?また、この例外をキャッチしたスタックをダンプするのに最適な方法は何ですか? ありがとう

+0

はい、構造化された例外をキャッチすることができます:http://msdn.microsoft.com/en-us/library/windows/desktop/ms681415(v=vs.85).aspx、この古い記事が最も多いかもしれませんが決定的:http://www.microsoft.com/msj/0197/exception/exception.aspx – birryree

答えて

1

はい、可能です。サンプルはtry-except Statementです。

予期しないSEHの例外については、dump creationと考えることをお勧めします。そうしないと、原因を突き止めるのが難しい場合があります。

+0

ダンプ作成の提案をありがとう。コールの時点でダンプがスタックを含むことは可能ですか?もしそうなら、それは関数名でアドレスではありませんか? – stas

+0

リリースビルド用のPDBファイルを作成すると、コールスタック内のアドレスではなく関数名が取得されます。さらに、dumpを使用すると、アプリケーションのすべてのスレッドのスタックを取得できます。 – Eugene

関連する問題