2011-08-10 38 views

回答

2

您可以从这里开始http://darkdust.net/files/GDB%20Cheat%20Sheet.pdf,来的是非常方便的。

点值得一提的

  • 您可以通过启动
    调试
  • 上输入GDB命令行会执行最后一条指令gdb连接到一个已经运行的过程中,在那里,进来 非常方便
  • 你可以用GDB做一些脚本,用-x falg指向 你的脚本假设你想通过ip连接到一个目标(远程
    调试),并且你不想记住每次进入它的ip/kepp
    。从GDB 7.1 Python脚本开始,也支持 强大得多,现在

    回声 “目标远程192.168.XX.XX:1234”>版gscript GDB -x版gscript应用

好一些适当的东西 -

(gdb)start 
(gdb)layout split    // list the assembly and c 
(gdb)ni       // exec next instruction in assembly 
(gdb)print $pc     // prints the contents of register PC(use $) 

,你可以尝试做一些单元测试去

(gdb)start 
(gdb)call factorial(5) 

假设你不想打扰应用定时(reatime行为),但仍希望查看某些变量更新,你可以尝试以下

(gdb)start 
(gdb)break <func>:<line> 
(gdb)commands 1     // '1' is the break number 
> silent 
> printf "var1 = %d\t var2 =%d\n",var1,var2 
> continue 
> end 

数据破发点,调试内存损坏时,条件断点是非常有用的

(gdb)start 
(gdb)watch var 
(gdb)watch 0x80001212 

调试线程

(gdb)info threads 
(gdb)thread 2      // switch to thread '2' 
相关问题