我正在试验装配。现在我正在查看一些简单的c代码以及如何使用以下代码将其转换为汇编代码:
gcc -Wall -S -fno-asynchronous-unwind-tables -o test.s test.c -m32
我只是想知道是否有一些工具可以让你查看堆栈中的内容?我可以查看所有推送指令的汇编代码,但是一些汇编指令(如调用)也会在堆栈上推送内容。
在运行程序集或c代码时,是否有任何工具可以更好地显示堆栈的确切情况?
答案 0 :(得分:2)
是的,你想要的是众所周知的调试器gdb。您可以像这样运行程序
gdb ./ {program}
然后您可以设置断点,以便程序在某个点停止。然后,您可以使用各种命令检查堆栈。
答案 1 :(得分:1)
“可视”调试工具:Eclipse CDT 当您在Eclipse CDT中运行调试时,您几乎可以看到所有在表中排序的内容,而无需通过可怕的GDB命令进行导航(但它的后端是GDB)。 很难,使用这个调试器仍然有点棘手。但Youtube和Google将为您提供足够的教程。