gdb:获取字符串/注释的地址

时间:2015-11-08 13:31:16

标签: string gdb comments

是否可以从使用调试信息编译的程序中获取字符串的地址?

e.g。,:

int main(void)
{
     // Call function
     f();
     return 0; 
}

是否可以获取字符串“// Call function”的地址? 如果我使用“info line x”,我会得到一个地址,但它不包含字符串。它包含调用f();

的指令

1 个答案:

答案 0 :(得分:0)

  

是否可以获取字符串“// Call function”的地址?

不,因为在编译的程序中该字符串不是

编译过程的第一步是预处理,它会扩展所有宏定义,并删除所有注释

您可以通过运行

查看该步骤的输出
gcc -E t.c

您的评论将在那里。

可以让gcc在预处理源中留下注释(带有-C标志),但是不可能将注释“编译”到最终的二进制文件中。