我可以使用哪些gdb命令来提高我的调试技巧?

时间:2011-08-10 13:32:44

标签: xcode debugging xcode4 gdb

Xcode 4中有哪些可用于gdb的命令,我可以使用它来调试我的应用程序?

(虽然是一个相对经验丰富的开发人员,但我希望通过这个问题扩展我的技能。)

1 个答案:

答案 0 :(得分:2)

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

值得一提的点

  • 您可以将gdb附加到已经运行的进程,然后按开始 调试
  • 在gdb命令行输入将执行最后一条指令,进来 非常方便
  • 您可以使用GDB编写一些脚本,使用-x falg指向 你的脚本假设你想通过ip连接目标(远程
    调试),你不想记住它的ip / kepp输入它 每次。从gdb 7.1开始,也支持Python脚本 现在这么强大了

    echo“target remote 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)

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

(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'