如何通过gdb获取从链接器导入的全局变量的值?

时间:2016-06-30 09:14:22

标签: assembly linker gdb

将以下全局变量导入到汇编文件中。

.global _sbss               /* Start of .bss in RAM */
.global _ebss               /* End+1 of .bss in RAM */

通过gdb,我怎样才能获得这些值? 当我尝试打印_ebss时,我得到以下内容:

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

我不明白上面的意思。我期待RAM中的地址。

1 个答案:

答案 0 :(得分:4)

要打印符号的地址,请使用take-address运算符(&):

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

否则,gdb打印存储在符号地址的值。