c - 用GDB调试编译好的C程序学习汇编编程

标签 c gcc assembly gdb

我是 gdb 的新手。我写了一个非常简单的hello world程序

#include <stdio.h>

int main() {
  printf("Hello world\n");
  return 0;
}

我是用-g编译的,加上调试符号

gcc -g -o hello hello.c

我不确定下一步该做什么,因为我不熟悉 gdb。我希望能够使用 gdb 检查汇编代码。这就是我在 IRC 上被告知的。

最佳答案

首先,启动程序以恰好在 main 函数的开头停止。

(gdb) start

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

(gdb) layout asm

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

关于c - 用GDB调试编译好的C程序学习汇编编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44863683/

相关文章:

c - 正在填充未声明的结构数组

c - 执行 ps aux | 的程序grep 根 | wc -l 在 C 中使用管道

c - 在可执行文件中找到访问内存的机器指令

c - 包含与 C 代码内联的汇编如何工作?

memory - 使用 VMX 模拟内存映射 I/O 是否需要指令解码?

c - 在 main 以外的函数内部无法识别结构

c - 使用开关对文件 (C) 中的信息进行排序

c - 如何在 Linux 上调试 C 程序?

c - 在编译器之间匹配 va_list 类型

c - 编译 glibc 时 mipsel-gcc 产生的奇怪加载指令