0

EIP を含むワトソン博士の情報を含むクラッシュ レポートをユーザーから受け取ります。デバッグを開始してから、EIP を設定し、どの行に移動するかを確認します。また、リリース ビルドで Line Info を有効にしています。

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

4

1 に答える 1

0

コードをバージョン管理にチェックインしてから、使用されているすべてのライブラリ、すべてのソース、およびリンカーが変更されていないことを確認できない限り、オフセットが同じであるという保証はありません。これが、多くの企業が実際に実行可能ファイルを構成管理下に置くために多大な努力を払う理由です。

経験上、オフセットが同じでない場合はすぐに明らかになるため、少なくとも確認できます。意味がない場合は、EIP およびその他の実行可能なアドレス オフセットを無視してください。

マップ ファイルを作成し、クラッシュ レポートの元のバージョンからそれを保存し、マップ ファイルを再構築されたソースから保存した場合、比較分析 (実際には関数ごと) を実行して、実行可能なアドレスから有用性を取り戻すことができます。オフセット。

于 2012-03-01T18:36:22.290 に答える