免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 7652 | 回复: 6

[C] 怎么理解fflush(NULL)引起的coredump [复制链接]

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2015-08-06 06:20:00
发表于 2013-08-22 15:43 |显示全部楼层
10可用积分
我有一个程序运行的时候一般情况下是好的,但有时候会coredump,分析了core文件,发觉问题定位XXB_SRV.ec调用的WriteLog中,这个函数实现是在Log_DS.c里面,根据dbx定位发觉程序是最终停在Log_DS.c中的175行:fflush(NULL)
附显示的dbx内容:
(dbx) where
.() at 0x3424
_global_trylock(??) at 0x900000000362658
_rec_mutex_trylock(??) at 0x900000000061040
fflush_unlocked(??) at 0x90000000006590c
WriteLog(_line_ = 294, _file_ = "XXB_SRV.ec", flag = '2', strFmt = "\267\265\273\330WEB\275\273\322\327\312\375\276\335 %s", ... = 0x110faeeb8, 0x1e00545f, 0x64, 0xfffffffffff7560), line 175 in "Log_DS.c" [untrusted: XXB_SRV]
XXB_SRV(rqst = 0x0000000110f3ff90), line 294 in "XXB_SRV.ec" [untrusted: XXB_SRV]
_tmsvcdsp() at 0x900000000570fb4
_tmrunserver() at 0x9000000005059a0
_tmstartserver() at 0x9000000005ce01c
main(0xe0000000e, 0xffffffffffff2d0) at 0x100000538 [untrusted: XXB_SRV]

附小部分Log_DS.c源码

fprintf(fp,"[%s]PID:[%s]KEY:[%s][%s][%s][%s][%s][%s][%s]=[%s][%d]>>",              ---165行
                sdate,                                                                                             ---166行
                SipLogKey.sPidNo,                                                                            ---167行
                SipLogKey.sTxnSeq, SipLogKey.sTellId, SipLogKey.sChnlNo,              
                SipLogKey.sChnlTxn,SipLogKey.sSipTxn, SipLogKey.sAcctNo,
                SipLogKey.sTxnAmt,_file_,_line_);
        va_start(ap,strFmt);
        vfprintf(fp, strFmt, ap);
        va_end(ap);
        fprintf(fp,"\n");
        fflush(NULL);                                                                                                ---175行
        fclose(fp);
请各位专家给出一些意见方向

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2015-08-06 06:20:00
发表于 2013-08-26 09:02 |显示全部楼层
过了两天了,没有高人解答一下

论坛徽章:
0
发表于 2013-08-26 14:27 |显示全部楼层
光有这点信息没法判断问题在哪儿。
coredump不一定会被dbx等这种工具明显的捕捉到core stack.
有时候由于内存非法访问造成的coredump根本不能通过coredump的堆文件里一目了然的定位。需要更详细的信息综合分析才能有所收获的。

所以你的这个问题没有人给出建议就是这个原因。

论坛徽章:
0
发表于 2015-03-20 11:52 |显示全部楼层
地址已经非法了!

论坛徽章:
44
15-16赛季CBA联赛之浙江
日期:2021-10-11 02:03:59程序设计版块每日发帖之星
日期:2016-07-02 06:20:0015-16赛季CBA联赛之新疆
日期:2016-04-25 10:55:452016科比退役纪念章
日期:2016-04-23 00:51:2315-16赛季CBA联赛之山东
日期:2016-04-17 12:00:2815-16赛季CBA联赛之福建
日期:2016-04-12 15:21:2915-16赛季CBA联赛之辽宁
日期:2016-03-24 21:38:2715-16赛季CBA联赛之福建
日期:2016-03-18 12:13:4015-16赛季CBA联赛之佛山
日期:2016-02-05 00:55:2015-16赛季CBA联赛之佛山
日期:2016-02-04 21:11:3615-16赛季CBA联赛之天津
日期:2016-11-02 00:33:1215-16赛季CBA联赛之浙江
日期:2017-01-13 01:31:49
发表于 2015-03-20 14:38 |显示全部楼层
你只告诉大家一个人大脑缺氧导致脑死亡,然后让大家猜他的死因是中了一枪还是上吊自杀,你觉得有人能给你答案么?

论坛徽章:
324
射手座
日期:2013-08-23 12:04:38射手座
日期:2013-08-23 16:18:12未羊
日期:2013-08-30 14:33:15水瓶座
日期:2013-09-02 16:44:31摩羯座
日期:2013-09-25 09:33:52双子座
日期:2013-09-26 12:21:10金牛座
日期:2013-10-14 09:08:49申猴
日期:2013-10-16 13:09:43子鼠
日期:2013-10-17 23:23:19射手座
日期:2013-10-18 13:00:27金牛座
日期:2013-10-18 15:47:57午马
日期:2013-10-18 21:43:38
发表于 2015-03-20 15:13 |显示全部楼层
挖坟党      
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP