Linux工具读取堆栈的值

时间:2009-10-17 17:32:36

标签: c linux security

我想知道是否有一个Linux工具允许你读取程序堆栈的值?例如,在运行包含以下行的程序的二进制文件时:

foo(parameter);

参数将放在堆栈上,我想知道是否有工具可以访问它。

感谢。

3 个答案:

答案 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,因此您可能希望阅读“为了娱乐和利润而粉碎堆栈”:

http://insecure.org/stf/smashstack.html