通知
すべてクリア
Topic starter
2005年11月10日 5:49 PM
Win2k vc++6.0
0x????????の命令が0x00000000を参照しました
などのエラーが発生する場合で
アドレスが0x00401000に近ければMapファイル生成と/FAcs
オプションでどうにかなるのですが
0x6xxxxxxxなどのアドレスで必ず起こるという再現性が無い場合の
いい対処方法はありませんでしょうか?
2005年11月10日 6:07 PM
> 0x6xxxxxxxなどのアドレスで必ず起こるという再現性が無い場合
必ず起こるのに再現性が無いってのも変な話。
そのあたりのアドレスは Windows のシステム DLL の予約領域でしょう。
Dependency Walker で、そのアドレスを含む範囲にロードされている DLL を調べて(自
作 exe を Dependency Walker で開き、真ん中のモジュール一覧で Preferred Base の
値がそのアドレス以前で最も近いものを探す)、その DLL の関数を呼び出しているとこ
ろに間違いが無いか探してみてはいかがでしょう。
2005年11月10日 6:08 PM
ごめん何か勘違いしたかもしれない。見なかったことにして。
2005年11月11日 6:04 AM
オーバーランしすぎて、最終的に異常終了した場所が表示されてる
だけだと思われます
混合モードデバックも視野に入れて検討してください
Topic starter
2005年11月11日 2:08 PM
解決したわけではないですが、特効薬と呼べるようなものがないという事が
わかったのでひとまず解決とさせていただきます。
Dependency Walkerも参考になりました。
地道にエラーアドレスの収集などしていきたいと思います。