
GDB
wangeen
商业化产品可能是有用的但最好的东西往往是免费的空气水Vim
展开
-
GDB 高级使用
最近在查一个bug,更加熟悉了GDB的使用,下面列举一下使用的技巧 1)勤用info info有很多 info stack, info frame, info locals, info globals都很有用 2)查看class的instance的内容 通过info找到this指针,一般class成员函数的第一个变量都是this,然后用下面的命令查看 print *(('namespa原创 2014-01-17 20:30:04 · 946 阅读 · 0 评论 -
GDB attach
attach是GDB一种重要的debug模式,在MPI程序debug中发挥重要的作用。 具体的执行步骤如下: 1) 首先在程序开始的地方添加如下代码, 注意这是个死循环,之所以用死循环就是让他一直在等待attch { int i = 0; char hostname[256]; gethostname(hostname, sizeof(hostname));原创 2013-11-06 17:16:36 · 7225 阅读 · 0 评论 -
使用 GDB 调试多进程程序
GDB 是 linux 系统上常用的 c/c++ 调试工具,功能十分强大。对于较为复杂的系统,比如多进程系统,如何使用 GDB 调试呢?考虑下面这个三进程系统: 进程 Proc2 是 Proc1 的子进程,Proc3 又是 Proc2 的子进程。如何使用 GDB 调试 proc2 或者 proc3 呢? 实际上,GDB 没有对多进程程序调试提供直接支持。例如,使用GDB调试转载 2013-09-03 10:01:27 · 709 阅读 · 0 评论 -
idb vs gdb
很早之前就听说idb比gdb好用,一直不以为然,今天终于受不了gdb动不动就freeze的习惯了,改用idb,感觉好多了,仍然支持gdb的命令,而且还有很friendly的窗口可以看源代码,非常好。 1. 如何在某一行加断点? break main.c:123 2. 如果在某个C++ class的函数加断点? break ccc::abc // 注意和上面的不同原创 2012-12-28 13:57:05 · 1548 阅读 · 0 评论