set print pretty on GDB使用中比较麻烦的事情,就是每次启动,还要手动敲一把命令,特别是断点比较多的情况,这个特便影响,工作效率。查了一下gdb info,gdb支持自动读取一个启动脚本文件.gdbinit,所以经常输入的启动命令,就都可以写在gdb启动目录的.gdbinit里面。比如 .gdbinit: file myapp handle SIGPIPE nostop break ss.c:100 break ss.c:200 run GDB和bash类似,也支持source这个命令,执行另外一个脚本文件。所以可以修改一下.gdbinit: .gdbinit: file myapp handle SIGPIPE nostop source gdb.break run gdb.break: break ss.c:100 break ss.c:200 这样修改的断点配置,只需要编辑gdb.break就可以了。再后来,偶而还是需要单独启动GDB,不想执行自动脚本,于是又改进了一下。首先把.gdbinit命名为gdb.init,然后定义一个shell alias: $ alias .gdb=”gdb -x gdb.init” 这样如果需要使用自动脚本,就用.gdb命令,否则用gdb进入交互状态的gdb。这样配置以后可以一个简单命令就开始调试,整个效率就能提高不少。
root@ubuntu:/home/tp/wireshark-1.6.7/.libs# cat .gdbinit
set print pretty on
b main
r -r miwen.pcap -o wlan.enable_decryption:TRUE -o wlan.wep_key1:wpa-pwd:00022455:test_wu -R "wlan.addr contains c0:f2:fb:95:b0:50&& wlan.fc.type eq 2&&http"
root@ubuntu:/home/tp/wireshark-1.6.7/.libs#