マップ ファイルは次のようになります。
0002:000442e4 00000118H .idata$2 DATA
0002:000443fc 00000014H .idata$3 DATA
0002:00044410 00000b7cH .idata$4 DATA
0002:00044f8c 0000512eH .idata$6 DATA
0002:0004a0ba 00000000H .edata DATA
クラッシュ情報は次のようになります。
Application Error : The instruction at "0x00458ae1" referenced memory at "0x00000074". The memory could not be "read".
次のクラッシュでスタック ダンプを取得しようとしていますが、これは、スタックを切り捨ててリターンを行ったためにデータを実行することになったケースのように思えます。
次のような記事を読んだので、完全にはわかりません: Under the Hood 記事は、これがインポートされたメソッド名の領域であることを示しているようです
インポート ライブラリがインポートされた API に提供するデータは、名前がすべて .idata で始まるいくつかのセクション (たとえば、.idata$4、.idata$5、および .idata$6) に保持されます。.idata$5 セクションには、実行可能ファイルが読み込まれるときに、インポートされた関数のアドレスを含む単一の DWORD が含まれます。.idata$6 セクション (存在する場合) には、インポートされた関数の名前が含まれています。実行可能ファイルをメモリにロードするとき、Win32 ローダーはこの文字列を使用して、インポートされた関数で GetProcAddress を効果的に呼び出します。
スタックバックトレースがないと、ちょっと行き詰まります。このクラッシュを間違った方法で見ていますか?