GDB で最適化された Linux 実行可能ファイルをデバッグしています。プログラムがセグメンテーション違反でクラッシュします。ただし、障害のある命令は実際には無効なポインターにアクセスしていないようです。基本的に、mov 0xf00(%ebx), eax
0xf00(%ebx) が有効なメモリである op です。少なくとも、x
アドレスを指定すると表示されます。
現在キャッチされている例外に関するすべての詳細を表示する GDB コマンドは何ですか?これには、障害のあるオペコードがアクセスしようとした正確なメモリ アドレスが含まれます。この情報は例外トラップ フレームにあるはずですが、GDB 経由で取得する方法がわかりません。
これは、Ubuntu での x86 用です。