![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
GDB
文章平均质量分 82
Adam040606
这个作者很懒,什么都没留下…
展开
-
GDB 调试多进程
转自:http://blog.csdn.net/chn89/article/details/7098823这位IBMer提出三种调试方式,很是靠谱。http://www.ibm.com/developerworks/cn/linux/l-cn-gdbmp/。鉴于本人的嵌入式背景,多数不太适合采用VNC,于是乎,就举例说明前两种方法吧。待调试代码[cpp] vie转载 2015-05-26 16:52:15 · 459 阅读 · 0 评论 -
GDB 调试多线程
转自:http://blog.csdn.net/chn89/article/details/7098846GDB是*nix下常用的调试工具,可以提供及其复杂的调试功能,功能十分强大。这里展示一下GDB调试多线程的常规方法。常用命令:info threads :显示当前可以调试的所有线程。thread IDx : IDx请用上述命令中的线程ID替换,该命令用于切换被调试的线程转载 2015-05-26 16:53:10 · 508 阅读 · 0 评论 -
使用GDB调试多进程程序
转自:http://www.ibm.com/developerworks/cn/linux/l-cn-gdbmp/GDB 是 linux 系统上常用的 c/c++ 调试工具,功能十分强大。对于较为复杂的系统,比如多进程系统,如何使用 GDB 调试呢?考虑下面这个三进程系统:进程Proc2 是 Proc1 的子进程,Proc3 又是 Proc2 的子进程。如何转载 2015-05-26 19:11:26 · 819 阅读 · 0 评论 -
使用 Strace 和 GDB 调试工具的乐趣
转自:http://www.cnblogs.com/lidabo/p/4523772.html编写 UNIX® 系统程序充满乐趣,并且具有教育意义。使用 UNIX strace 工具和 GDB(GNU 项目调试工具),您可以真正地深入研究系统的功能,并了解组成这些功能的各种各样的程序。同时使用这两种工具,能够在查看 UNIX 计算机底层信息 的时候,给您带来更好的体验。UNIX 家族总是为转载 2015-06-25 16:02:14 · 445 阅读 · 0 评论 -
定位多线程内存越界问题实践总结
转自:http://blog.csdn.net/killmice/article/details/38443343最近定位了在一个多线程服务器程序(OceanBase MergeServer)中,一个线程非法篡改另一个线程的内存而导致程序core掉的问题。定位这个问题花了整整一周的时间,期间历经曲折,尝试了各种内存调试的办法。往往感觉就要柳暗花明了,却发现又进入了另一个死胡同。最后,使转载 2015-07-26 23:00:33 · 857 阅读 · 1 评论 -
善用GDB 调试一些函数栈被毁坏的问题
转自:http://blog.csdn.net/ontheline/article/details/16963817最近查一些问题,这些问题的现象一开始难以解释,函数的参数地址在函数内部被传递给另外的函数,然后发现地址发生了改变,这样的情况称之为函数的栈被毁坏,导致无法重入。然后被调用的函数里面,访问了非法的地址导致了segment fault,产生core dump文件。问题转载 2015-07-26 22:35:34 · 1212 阅读 · 0 评论 -
gdb的一些技巧
转自:http://blog.csdn.net/playerl/article/details/7433410【设置断点方法】[python] view plaincopybreak 函数名 break 行号 break 文件名:行号 break 文件名:函数名 break *地址 brea转载 2015-10-23 11:18:12 · 385 阅读 · 0 评论 -
记一次tcmalloc分配内存引起的coredump
转自:http://www.cppblog.com/kevinlynx/archive/2015/04/06/210257.html现象线上的服务出现coredump,堆栈为:#0 0x000000000045d145 in GetStackTrace(void**, int, int) ()#1 0x000000000045ec22 in tcmalloc::P转载 2015-11-13 10:23:17 · 2386 阅读 · 0 评论 -
gcc选项-g与-rdynamic的异同
转自:http://www.lenky.info/archives/2013/01/2190gcc的-g,应该没有人不知道它是一个调试选项,因此在一般需要进行程序调试的场景下,我们都会加上该选项,并且根据调试工具的不同,还能直接选择更有针对性的说明,比如-ggdb。-g是一个编译选项,即在源代码编译的过程中起作用,让gcc把更多调试信息(也就包括符号信息)收集起来并将存放到最终的可执行转载 2016-11-09 11:15:34 · 2090 阅读 · 0 评论