gbd常用调试步骤
来源:互联网 发布:江湖风云录脚本软件 编辑:程序博客网 时间:2024/05/21 19:34
前提:开启core采集程序崩溃的状态
查看core是否已经开启 ulimit -c查看 0:表示没有开启
su root
vi /etc/profile
在文本最后插入:ulimit -S -c unlimited > /dev/null 2>&1
source /etc/profile
上面设置全局开启core文件调试并且立即生效
因为生成的core文件同名会覆盖,所有重置core命名规则,让其变成[core.pid]格式
su root
vi /etc/sysctl.conf
在文本最后插入:kernel.core_pattern = ./core_%t_%p_%e
kernel.core_uses_pid = 1
sysctl -p /etc/sysctl.conf
在/etc/sysctl.conf文件中添加系统配置并且立即生效
一:程序崩溃生成了core文件
gdb server core.151223
然后bt
二:程序没有崩溃但是进入死循环卡掉CPU
ps -au 查看运行的所有进程判断哪个进程卡住
gdb 程序名 进程号 进入阻塞的进程
然后bt
info threads 查看该进程中的所有线程 *代表当前调试的线程
查看线程是否卡在某一个函数的执行上
thread 线程号,即使切换到对应线程,但是其他线程还是再跑
set scheduler-locking on 开始多线程单独调试.
set scheduler-locking off 关闭多线程单独调试
然后bt
即可以查看死循环的函数调用情况
调试多进程:
调试正在运行的程序,通过ps -ef找到所需要调试的进程,复制文件描述符pid,这时候启动gdb
attach pid
gdb把pid的那个进程加载进来了,加载的进程会阻塞到当前正在运行的地方,直到使用命令控制
- gbd常用调试步骤
- GBD调试
- linux gbd 调试代码
- GBD 调试(一)
- GBD调试简介
- 使用GBD调试多线程
- gbd调试总结
- 使用bochs+gbd调试geekos
- GBD
- GBD调试程序(转)作者:Janlex
- 怎么样用GBD调试core文件
- gbd调试 错误 illegal instruction 4
- linux下C的GBD调试学习笔记
- gbd常用命令
- gbd info
- GBD linux debuging tools
- gbd/lldb使用2
- directshow filter 调试步骤
- Java多线程
- 为什么静态成员、静态方法中不能用this和super关键字
- 使用typescript开发node服务端
- 系统实用软件
- NIO 编程及代码实现
- gbd常用调试步骤
- android判断前台应用
- 机器学习第十六课part1(HMM直接计算法)
- Java(1-3)
- T
- Java 泛型总结(二):泛型与数组
- axis2 WebService的发布与调用
- Jquery中$(document).ready()和window.onload的区别
- AIO编程(NIO2.0)及代码实现