GDB 跑 hello world
为什么要学AI 写的代码出底层 bug 时你只会看日志猜。GDB 让你看 CPU 在干嘛。
打个比方体检照胃镜:直接看到胃里有没有东西,比猜症状准 100 倍。
VibeCoder 场景Claude Code 写的 C 程序莫名崩溃,你只会让它再试一次。
体系结构最直观的学法是 GDB 单步跑一遍 hello world。
前置macOS 装 lldb 或 Linux 装 gdb · 本地装好 gcc 或 clang
- 01写 hello.c 写 5 行最小程序。
- 02gcc -g hello.c -o hello。
- 03gdb ./hello 或 lldb ./hello。
- 04break main、run,连续按 step 看每一步。
- 05info registers 看 rip 寄存器变化。
粘贴到 Claude Code(或任何 LLM 终端)
教我用 gdb(或 macOS 的 lldb)单步执行一个 hello world。要求:1. 给我一个 5 行的 C hello world。2. 编译命令(带 -g 调试符号)。3. 启动调试器、break main、run、step、next、info registers、quit 这 6 个最少命令各做什么。4. 单步执行时观察 rip 寄存器怎么变。5. 用 3 句话告诉我你看到的就印证了'每条指令只改一个寄存器或一块内存'这个原则。如果我在 macOS 用 lldb,给一份命令对应表。✓ 完成判据你看到 rip 寄存器在每一步 step 后会变;能用一句话复述'每条指令只做一件事'。
坑macOS 上 gdb 要签名才能用,否则用 lldb,命令对应关系让 AI 给个表。