使用GDB检查汇编程序

时间:2015-10-05 05:44:44

标签: assembly gdb

我对集会非常陌生 - 我们上周在课堂上学会了如何阅读它。我正在研究一个pset而且卡住了。 pset的目的是能够弄清楚每个阶段的汇编代码正在做什么,并为程序提供正确的输入,这样它就不会失败。我想出了第一阶段,但我不确定如何进入第二阶段。以下只是代码的一部分,但给出了我正在看的内容。

<redacted>

“爆炸炸弹”导致程序失败。现在我在调用“爆炸炸弹”之前设置一个断点,然后调用“read_six_numbers”,并使用信息寄存器&amp; stepi以及print语句,试图看看这部分程序的正确输入是什么。但是,我真的不确定如何处理这个问题。使用信息寄存器不会给出6个数字的任何序列,我真的不确定这是否是我应该寻找的。

由于这是一个pset,我将在提交时将此链接添加到我的pset README中,我真的很感谢对直接解决方案的解释,因为在这部分后我需要解决并引入到更多阶段使用gdb解决这类问题的技巧真的非常有用。

1 个答案:

答案 0 :(得分:0)

我最终搞清楚了 - 这部分的关键是设置多个断点或使用si来弄清楚程序是如何运作的。我不会发布直接答案,因为这可能违反了学校的规定,但是通过该计划对于确定正确的输入至关重要。

请大卫教我关于x GDB命令的教训 - 他们真的非常非常有帮助。