2012-03-01 17 views
0

EIPを含むいくつかのワトソン博士の情報を使って、ユーザーからクラッシュレポートを受け取ります。私はデバッグを開始し、次にEIPを設定し、これがどの行にあるのかを見たい。また、リリースビルドでライン情報が有効になっています。同じソースを使用して再構築した場合、EXEのオフセットは同じですか?

ビルドに使用したソースをプルすることができるように、ソースコントロールにラベルがありますが、リンカが同じオフセットでEXEを生成するかどうかはわかりません。そうしないとEIPは役に立ちません。

答えて

0

バージョン管理にコードをチェックしてから、使用されているすべてのライブラリ、すべてのソース、およびリンカーが変更されていない限り、オフセットは同じになりません。このため、多くの企業が実際に実行可能ファイルを構成管理下に置くために徹底的に検討しています。

経験から、オフセットが同じでない場合、それは非常に迅速に明らかになりますので、少なくともチェックしてください。物事が意味をなさない場合は、EIPと他の実行可能なアドレスオフセットを無視してください。

マップファイルを作成し、クラッシュレポートの元のバージョンと再構築されたソースのマップファイルからマップファイルを作成して保存した場合、いくつかの比較分析を行うことができます実行可能なアドレスとオフセットから。

+0

私たちが出荷する実行可能ファイルもデジタル署名されていることを忘れていました。私はexeにテスト署名し、それが大きく変わった - サイズが大きくなっただけでなく、多くのことが動き回った。 – sashoalm

関連する問題