使用 GDB 调试已编译的 C 程序以学习汇编编程

dev*_*abe 0 c assembly gcc gdb

我对 gdb 很陌生。我写了一个非常简单的hello world程序

#include <stdio.h>

int main() {
  printf("Hello world\n");
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

我编译它-g以添加调试符号

gcc -g -o hello hello.c
Run Code Online (Sandbox Code Playgroud)

由于我不熟悉 gdb,因此我不确定接下来要做什么。我希望能够使用 gdb 来检查汇编代码。这就是我在 IRC 上被告知的。

ks1*_*322 5

首先,启动程序,正好停在main函数开始处。

(gdb) start
Run Code Online (Sandbox Code Playgroud)

切换到装配布局以在单独的窗口中以交互方式查看装配说明。

(gdb) layout asm
Run Code Online (Sandbox Code Playgroud)

使用stepinexti命令单步执行程序。当您浏览程序中的汇编指令时,您将看到汇编窗口中的当前指令指针在移动。