![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
gdb
扮猪吃饺子
努力的人,运气不会太差。
展开
-
Linux Debugging(四): 使用GDB来理解C++ 对象的内存布局(多重继承,虚继承)
      前一段时间再次拜读《Inside the C++ Object Model》 深入探索C++对象模型,有了进一步的理解,因此我也写了四篇博文算是读书笔记:Program Transformation Semantics (程序转换语义学)...转载 2018-08-22 13:50:04 · 472 阅读 · 0 评论 -
在Linux上分析死锁问题的简单方法
死锁 (deallocks): 是指两个或两个以上的进程(线程)在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程(线程)称为死锁进程(线程)。 由于资源占用是互斥的,当某个进程提出申请资源后,使得有关进程(线程)在无外力协助下,永远分配不到必需的资源而无法继续运行,这就产生了一种特殊现象死锁。...转载 2019-09-03 20:42:30 · 325 阅读 · 0 评论 -
GDB多线程多进程调试
gdb多线程调试gdb提供的多线程调试工具新线程创建自动提醒 thread thread-id实现不同线程之间的切换 info threads查询存在的线程 thread apply [thread-id-list] [all] args在一系列线程上执行命令 线程中设置指定的断点 set print thread-events控制打印线程启动或结束是的信息 set sched...转载 2019-09-03 21:31:15 · 583 阅读 · 0 评论 -
Linux C++ 程序占cpu%问题排查
inux C++ 程序占cpu%问题排查缘起对一个服务(room_status_server)进行了一些优化,并顺便修改了部分配置文件,重启后用top命令观察,发现该程序cpu几乎占到了100%。初步判断发现这个问题后,想到前两天还上线了该服务,立马去线上看了看,还好线上是正常的。那么问题肯定是刚才的修改导致的!把线上的版本拿过来运行,还是cpu几乎占到了100%,那很大可能是配...转载 2019-09-04 11:13:33 · 960 阅读 · 0 评论