【发布时间】: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