2016-06-30 4 views
3

以下のグローバル変数がアセンブリファイルにインポートされます。gdbからリンカーからインポートされたグローバル変数の値を取得する方法は?

からgdbまでこれらの値はどのように取得できますか?私は、印刷_ebssを試みたとき は、私は次を得る:

(gdb) print _ebss 
$1 = 106 'j' 

私が何を平均より上理解していません。私はRAMのアドレスを期待しています。

答えて

4

、シンボルのアドレスを印刷テイクアドレス演算子(&)を使用するには、そうでない場合

(gdb) print &_ebss 
$1 = ... 

を、GDBは、シンボルのアドレスに格納された値を出力。

+0

print&_ebssは次のようになります。 $ 2 =(<変数(テキストまたはデータではない)、デバッグ情報なし*)0x4c24a0 "j \ 205 [\ 307x \ 231j \ 222 \ 027 \ 362 \ 224 \ 273T \ 031 \ 274 \ r " – sniper

+0

@sniper' 0x4c24a0'はあなたが望むアドレスではありませんか? – fuz

+0

入手しました。ありがとう!!あなたの答えを受け入れました。 – sniper

関連する問題