Debug Hacks学习笔记-1

+ 大多数Linux发行版关闭了内存转储功能,使用ulimit命令查看当前的内存转储是否有效:ulimit -c,如果为0则关闭了,使用ulimit  -c unlimited或者设置一个上限可开启内核转储,当发生问题时进程的内存就会全部转储到内存转储文件core*中,可使用gdb调试生成的内核转储文件;
+ gdb的break设置断点可以有函数名、行号、文件名:行号、文件名:函数名、+偏移量、-偏移量、*地址;run执行到main函数可以用start;显示栈帧backtrace(bt);bt full不仅显示栈帧,还显示局部变量;info reg 显示寄存器;p /格式 变量名  显示变量值;x /格式 地址   显示内存数据;x /NFU ADDR;监视点  watch/awatch/rwatch <表示式>;设置变量的值  set variable 变量 = 表达式;
+ attach pid   调试正在运行的进程
+ continue/next/step 次数         执行指定次数的相应命令
+ disable/enable   禁用/启用断点
+ commands 断点编号         命令。。。。        end
+ 通过p命令显示过的值会记录在内部历史中,通过show value可以显示历史中的最后10个值
+ strace + 进程名 寻找故障原因的线索
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值