【问题标题】:How to debug in ASM? (Ubuntu)如何在 ASM 中调试? (Ubuntu)
【发布时间】:2016-05-16 00:18:22
【问题描述】:

我经历了几天完成一个程序而没有调试的经历,在我做过的一个问题上,ppl 建议我使用可以像 VS studio 那样逐行调试的调试工具。 我刚刚熟悉使用 CLI。 (在 VirtualBox 上使用 Ubuntu。)并寻找有人向我提供使用调试工具的步骤。 以防万一,我使用 NASM 和 Gcc 工具。我像下面这样使用它们。

 nasm -f elf search.asm    ( this makes search.o )
 gcc -o search search.o asm_io.o  ( I use the external file to use some functions )
 ./search      

【问题讨论】:

  • 我在x86 tag wiki 中放置了一小部分关于对使用 GDB 调试 asm 有用的命令。但是,如果您没有将 gdb 用于其他语言,那么您通常需要学习 gdb。我绝对同意调试器对于 asm 必不可少的建议。您不能像在高级语言中那样分散调试printf 调用,因为即使调用函数也会影响您的寄存器(并且很容易引入新的错误,并且某些函数以仅适用于叶子的方式进行了优化功能...)
  • gcc 命令只能在 32 位系统上运行。在 64 位系统上,您需要 gcc -m32 来链接由 nasm -felf 创建的 32 位对象。有关使用 NASM 和 gcc 构建的信息,请参阅 this post
  • 听起来你在问哪里可以找到教程

标签: debugging ubuntu assembly nasm


【解决方案1】:

gdb 在这里看起来是一个解决方案:

gdb search

看到这个link

【讨论】:

  • 这几乎是一个仅链接的答案。请详细说明。
  • 我认为详细说明更精确的答案将包括 gdb 文档,因为我没有看到任何精确的限制或要求。所以,我想让他从哪里开始。而且,au fur et a measure,他的进步,SO 总是在这里,然后我会详细说明。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-08-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多