打开调试gcc -g
$gcc -g -o hello hello.c
载入gdb
$gdb
载入要调试的hello
(gdb) file hello
运行一下:
(gdb)run
。。
。这是运行结果。。
。。。。
看一下源码
(gdb) list
1 int main(int argc, char **argv){
2 printf("Hello Linux/n");
3 }
设置个断点,就像eclispe 一下要设置断点来调戏调戏java嘛。
(gdb) break 2
Breakpoint 1 at 0x8048365: file hello.c, line 2.
运行一下:
(gdb)run
Starting program: /home/james/hello
Failed to read a valid object file image from memory.
Breakpoint 2, main () at hello.c:2
2 printf("Hello Linux/n");
我想看一下printf:
(gdb) watch printf
Hardware watchpoint 1: {<text variable, no debug info>} 0xb7e102f0 <printf>
(gdb)
下一步:
(gdb) next
Hello Linux
3 }
(gdb) quit
The program is running. Exit anyway? (y or n) y
完了。太错的程序没什么调戏可言。只是为了熟悉一下过程。