gdb:获取 strings/comments 的地址

gdb: get address of strings/comments

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

例如:

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

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

的说明

Is it possible to get the address of the string "// Call function" ?

不,因为那个字符串在编译程序中不是

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

您可以通过 运行

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

您的评论不会出现。

可以要求 gcc 在预处理源中留下注释(使用 -C 标志),但不可能 "compile" 注释到最终的二进制文件中。