我想知道是否有一个Linux工具允许你读取程序堆栈的值?例如,在运行包含以下行的程序的二进制文件时:
foo(parameter);
参数将放在堆栈上,我想知道是否有工具可以访问它。
感谢。
答案 0 :(得分:5)
GDB?
glibc中也有一些回溯函数。 http://www.gnu.org/s/libc/manual/html_node/Backtraces.html
答案 1 :(得分:4)
是的,听起来你只想运行一个调试器。如果使用-g选项编译程序,则可以使用gdb,如:
gdb myprogram
现在在你的函数中设置一个断点,你可以在当前范围内查看变量的值。
如果您是C初学者,那么非常值得您学习gdb(Gnu调试器)。
答案 2 :(得分:3)
由于您将此标记为security
,因此您可能希望阅读“为了娱乐和利润而粉碎堆栈”: