发布时间:2013-01-12 14:48:47
如何使用gcore工具获取一个core文件而不重启应用?分类: Linux2011-09-02 18:31 613人阅读 评论(0) 收藏 举报 解决方法:解决:问题:当调试一个程序的时候,理想状态是不重启应用程序就获取core文件。解决:gcore命令可以使用下面步骤来获取core文件:1. 确认gdb软件包已经被正确安装。2. 使用调试参数编译程序(例如: gcc中使用"-g"选项),编译后不要去除文件的调试符号信息。3. 执行应用程序。4. 执行gcore命令生成指定应用程序的core文件并且保存在当前目录下。$ gcore p......【阅读全文】
发布时间:2013-01-12 10:51:15
GDB如何使用符号表 如果现在有同一个工程构建出的Debug版和Release版可执行文件projectD和projectR,如下的命令可以帮助你把Debug版中的符号表加到Release版中,实现对Release版的调试。 1、objcopy --only-keep-debug projectD projectsymbol.dbg #生成符号表; 2、gdb -q --symbol=projectsymbol.dbg -exec=projectR #加载符号表; 这下在gdb中就可以看到源代码了。......【阅读全文】
发布时间:2013-01-12 10:41:50
GDB中应该知道的几个调试方法2011年2月10日陈皓发表评论阅读评论13,500 人阅读 七、八年前写过一篇《用GDB调试程序》,于是,从那以后,很多朋友在MSN上以及给我发邮件询问我关于GDB的问题,一直到今天,还有人在问GDB的相关问题。这么多年来,有一些问题是大家反复在问的,一方面,我觉得我以前的文章可能没有说清楚,另一方面,我觉得大家常问的问题正是最有用的,所以,在这里罗列出来。希望大家补充。一、多线程调试多线程调试可能是问得最多的。其实,重要就是下面几个命令:info thread 查看当前进程的线程。thread <ID> 切换调试的线程为指......【阅读全文】
发布时间:2013-01-11 16:58:29
TCP链接主动关闭不发fin包奇怪行为分析问题描述:多隆同学在做网络框架的时候,发现一条tcp链接在close的时候,对端会收到econnrest,而不是正常的fin包. 通过抓包发现close系统调用的时候,我端发出rst报文, 而不是正常的fin。这个问题比较有意思,我们来演示下:$ erlErlang R14B03 (erts-5.8.4) [64-bit] [smp:16:16] [rq:16] [async-threads:0] [hipe] [kernel-poll:false]Eshell V5.8.4 (abort with ^G)1> {ok,Sock} = gen_t......【阅读全文】
发布时间:2013-01-11 16:51:19
慎用TCP的选项SO_LINGER分类: 网络通讯(TCP/UDP)2009-08-08 01:01 5573人阅读 评论(2) 收藏 举报1 慎用TCP的选项SO_LINGER最近有一次性能测试,通讯程序出现错误,表现为服务器处理速度明显降低,检查发现服务器的很多句柄出于TIME_WAIT状态,Justin这个流氓的自己承认测试用例写的有问题,在recv函......【阅读全文】