当我处理使用-ggdb标志编译的ELF二进制文件时,我习惯于非常有效地使用gdb。但是,当我面对normal non-stripped
二进制文件时,我遇到了一些困难。
buf
)称为print &buf
。但是,在当前情况下,我收到一条消息,指出在当前上下文中找不到buf
。我如何处理上述问题?如果你能提供一些阅读材料,那将是很棒的。
答案 0 :(得分:4)
要获取源行号和变量信息,需要使用调试符号(-ggdb
或类似代码)编译代码。编译没有调试符号但未解压缩保留在函数和全局变量名称中,但没有别的。剥离可执行文件甚至删除了其中一些。因此,在回答您的问题时,如果不使用-g
进行编译,则无法执行您想要的操作。