VC6でデバッグビルドでは動くのにリリースビルドだと動かない場合

リリースビルドでもデバッグ情報をある程度付け足してビルドすることができるのでその方法。

1、メニューの「ビルド」「構成」からリリースビルドの構成を元に新しい構成を作成する。

2、プロジェクトの設定の、「C/C++」でデバッグ情報を「プログラムデータベースを使用」にする。「リンク」で、「デバッグ情報を生成する」をチェックする。

3、実行してエラーが出てくれれば、行番号などのある程度の情報はわかる。

上の方法でエラーが出てくれないとき。

1、リリースビルドのプロジェクトの設定の「リンク」で「MAPファイル生成」をチェックし、ビルドすると拡張子MAPのファイルができる。このファイルは関数のアドレス情報がわかる。

2、実行してエラーを再現して、エラーの起きたアドレスを調べる。以下の場合ならアドレスは0x401106になる。

err

3、MAPファイルからこのアドレスがどの関数かを調べる。左の数値ではなく右のほうの400000あたりから始まる数値。

4、頑張ればコールスタックも調べられる。

Leave a Reply

Your email address will not be published. Required fields are marked *

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)