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



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

例如:

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

是否可以获取字符串"//调用函数"的地址?如果我使用"信息行x",我会得到一个地址,但它不包含字符串。它包含调用f()的指令;

是否可以获取字符串"//调用函数"的地址?

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

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

您可以通过运行来查看该步骤的输出

gcc -E t.c

您的评论不会出现在那里。

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

最新更新