您的位置:首页 > 其它

GDB高级调试命令总结

2018-02-28 22:07 423 查看
常用快捷键:
ctrl+x+a                                   快捷键切回到传统模式
ctrl+x+o                                   切换窗口焦点
ctrl+x+1                                   显示一个src窗口
ctrl+x+2                                   显示两个窗口(src+asm)
常用命令行参数:
以加参数方式调试应用程序
#gdb --args ./src/netperf -H 127.0.0.1 -p 8888 -t TCP_STREAM -l 10 -- -m 128000            
用gdb分析程序的dump文件或者内核的dump文件
#gdb program core            
窗口切换命令:
>help layout                           查看有哪些界面布局
>layout src                              源码模式
>layout asm                            汇编模式
>winheight src +10                 调整源码窗口的高度
单步执行
>ni                                          汇编单步执行        
>i source                                 查看当前源码文件的路径   
>finish                                     执行到函数返回   
内存查看命令:
>i registers $rip                           查看rip寄存器的内容
>x /i $rip                                      以指令方式查看rip寄存器
>x /16xw xxx                                以16进制方式,每块的数据类型word,连续显式16个word数据值
>x /16xb $rip+0x83d623
>x /s $rdx                                                                         以字符串的方式显示寄存器rdx中的值
>p /t dst->dev->features                                                打印嵌套结构体中的变量
>p &((struct sock*)0)->sk_route_caps                             打印出结构体内子项的偏移
>p  *(struct tcphdr *)(skb->head+skb->transport_header)    打印出结构体的所有值
>p  *(fn)@12                                                                     打印数组
>p ((struct proc_inode *)((char *)inode-0x38))->op         打印container_of()功能
>set console_printk[0]=4                                                  改变内存中的值
>set  disassembly-flavor  intel                      设置为intel反汇编模块
>set print pretty on                                       设置 漂亮格式打印输出>ptype  struct workqueue_struct                  显示结构体定义

条件断点
    使用复杂的条件断点
>commands 22                        

->if (vport->port_no!=4)
->bt
->c
->else
->bt
->end
     使用简单的条件断点

>b  10 if index == 3        
内核模块调试:
查看指定内核模块的内存加载地址

#cat /proc/modules |grep tun                                                                            
为指定模块加载symbol文件

>add-symbol-file /home/dawei/nzuta/nzuta.ko  0xffffffffa0423000        
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: