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" 注释到最终的二进制文件中。
是否可以从使用调试信息编译的程序中获取字符串的地址?
例如:
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" 注释到最终的二进制文件中。