インテル Bi-Endian コンパイラーでコンパイルされたコードをデバッグしようとすると、データの表示に問題が発生します。これは、私のデータがビッグエンディアンとしてマークされているようです。
表示しようとしているデータは で__be_x
、 はx
ですint
。
値が 1 のときに出力しようとするとx
、この値が得られます。おそらく、この値がビッグ エンディアンではなくリトル エンディアンとして解釈されているためです。
(gdb) p __be_x
$4 = 16777216
(gdb) x /4b
0xf850aa0 <__be_x>: 0x00 0x00 0x00 0x01
したがって、ビッグエンディアンとして解釈される値は 1 です。
GDBにはこれに対する何らかのパッチがあると思いますが、見つけられないようです。GDBにデータを認識させる方法を知っていますか?