2016-05-29 7 views
1

でコマンドを調べる:は、GDBの混乱

x/10xb 0xbffff450 

それは示した:

0xbffff450 : 8 bytes 
0xbffff458 : 2 bytes 

を入力している間:

x/10xw 0xbffff450 

をこれは示しています

0xbffff450 : 4 words 
0xbffff460 : 4 words 
0xbffff470 : 2 words 

私の質問は次のとおりです:
なぜ第1の場合は次のアドレスは0xbffff458で、第2のアドレスは0xbffff460でしたか?
アドレスの中間はどこですか?0xbffff451,0xbffff452, ...などですか? 10xbbによって示されるように

答えて

-2

x/10xb $some_addressバイトインクリメント$some_address及び9連続するアドレス位置での値を示しています。一方

x/10xw $some_address
wによって示されるように通常4 bytesある語長だけインクリメント$some_address及び9連続するアドレス位置での値を示しています。

最初の質問に戻って、0xbffff4580xbffff450の次のアドレスではありません。左に表示されているアドレスは単に表示されており、右に表示されている最初の値に対応しています。これは単なる出力スタイルであり、他には何もありません。単語の長さは4バイトであるので、0xbffff450から4ワード値が表示されている場合、次の値は16進形式の0xbffff460に対応します。

2番目の質問については、それらのアドレスがかなりあり、検査を使用してその値を確認できます。
これが役立つことを願っています!