(Win32 プラットフォーム c++) __try と __finally を使用して、例外の原因のモジュール名 (およびアドレス) を取得するにはどうすればよいですか? GetExceptionInformation() を呼び出しますが、この情報がどこにあるのかわかりません。
オンラインおよび MSDN の他のリソースを考えると、Minidump ハンドラーと他のサンプル コードはそれを取得できるようですが、方法はわかりません。
参考文献またはより啓発的なリソースを歓迎します。
(Win32 プラットフォーム c++) __try と __finally を使用して、例外の原因のモジュール名 (およびアドレス) を取得するにはどうすればよいですか? GetExceptionInformation() を呼び出しますが、この情報がどこにあるのかわかりません。
オンラインおよび MSDN の他のリソースを考えると、Minidump ハンドラーと他のサンプル コードはそれを取得できるようですが、方法はわかりません。
参考文献またはより啓発的なリソースを歓迎します。
EXCEPTION_POINTERSによって提供されるEXCEPTION_RECORDレコードには、例外が発生したアドレスが含まれています。次に、おそらくEnumProcessModules()とGetModuleInformation()を使用して、例外アドレスが含まれるモジュールを見つけ、GetModuleFileNameEx()を使用してそのモジュールのファイル名を取得できます。
この CodeProject の記事で説明されているように、コールスタックをウォークします。
Jochen のコードをそのまま使用することも、必要な情報を抽出するのに十分な詳細を収集することもできます。