网络程序异常退出无core文件产生这种情况发生在一边连接端已经关闭,但是另外一边还在对连接句柄做send操作,这样做send操作的进程会收到SIGPIPE信号,默认行为是直接退出且不会产生core。为了避免退出,一般在启动的时候加上 signal(SIGPIPE, SIG_IGN) 来忽略这种错误。...
分类:
系统相关 时间:
2014-10-19 12:51:34
阅读次数:
309
在linux 下写线程程序的同学估计都遇到过找bug找到崩溃的情况,多线程情况下bug的追踪实在是不容易。现在我来介绍一个好用的方法 ulimit core。
先简单介绍一下ulimit是个什么(你也可以man ulimit自己查看)。
“‘当系统中的一些程序在遇到一些错误以及crash时,系统会自动产生core文件记录crash时刻系统信息,包括内存和寄存器信息,用以程序员日 后...
分类:
编程语言 时间:
2014-10-11 12:26:05
阅读次数:
203
一、源码结构继上一篇blog说到整个leaflet的结构,这里重新贴一张图(src -> core),直观点,如下图。这篇blog主要研读core文件夹的源码Brower.js。因为怕篇幅较大,所以Class.js,Events.js,Handler.js,Util.js后续开博。他们是整个框架的b...
分类:
移动开发 时间:
2014-10-08 17:45:35
阅读次数:
792
我写了一个服务器程序,在Linux下测试,然后用C++写了客户端用千万级别数量的短链接进行压力测试. 但是服务器总是莫名退出,没有core文件.
最后问题确定为, 对一个对端已经关闭的socket调用两次write, 第二次将会生成SIGPIPE信号, 该信号默认结束进程.
具体的分析可以结合TCP的"四次握手"关闭. TCP是全双工的信道, 可以看作两条单工信道, TCP连接两...
分类:
其他好文 时间:
2014-09-26 23:05:48
阅读次数:
250
1,ulimit -a查看默认参数2,ulimit -c 1024 设置core文件大小,如果超过1024个blocks,则不会产生core文件注:tune2fs -l /dev/sda8 输出分区信息,包括block大小,此处为4096程序:编译:g++ -g test.cpp3,gdb --co...
分类:
系统相关 时间:
2014-09-19 11:26:45
阅读次数:
303
什么是core dump?core的意思是内存,dump的意思是扔出来,堆出来;当一个程序奔溃时,在进程当前工作目录的core文件中复制了该进程的存储图像。core文件仅仅是一个内存映像(同时加上调试信息),主要用来调试的。为什么没有core文件生成呢?有时候程序down了,但是core文件却没有生...
分类:
系统相关 时间:
2014-09-16 12:31:00
阅读次数:
282
关于内核转储的设置方法 ? 1. 内核转储作用 ? (1) 内核转储的最大好处是能够保存问题发生时的状态。 (2) 只要有可执行文件和内核转储,就可以知道进程当时的状态。 (3) 只要获取内核转储,那么即使没有复现环境...
分类:
其他好文 时间:
2014-09-15 11:31:19
阅读次数:
300
一. 何时产生core.当程序接收到以下UNIX信号会产生core文件:名字说明ANSI C POSIX.1SVR4 4.3+BSD缺省动作SIGABRT异常终止(abort) . . . .终止w/coreSIGBUS硬件故障 . . .终止w/coreSIGEMT硬件故障 . .终止w/core...
分类:
其他好文 时间:
2014-09-11 20:44:02
阅读次数:
169
一,什么是coredump 我们经常听到大家说到程序core掉了,需要定位解决,这里说的大部分是指对应程序由于各种异常或者bug导致在运行过程中异常退出或者中止,并且在满足一定条件下(这里为什么说需要满足一定的条件呢?下面会分析)会产生一个叫做core的文件。 通常情况下,core文件会包含了程序运...
分类:
其他好文 时间:
2014-09-10 00:19:59
阅读次数:
368
最近编写一个http服务器,经常发生无故崩溃的情况程序崩溃的时候非常奇怪,既没有产生core文件,我自己也没有类似exit的语句后来发现原来是这样:TCP是全双工的信道, 可以看作两条单工信道, TCP连接两端的两个端点各负责一条. 当对端调用close时, 虽然本意是关闭整个两条信道,但本端只是收...
分类:
其他好文 时间:
2014-08-23 15:10:20
阅读次数:
209