我有一个程序运行的时候一般情况下是好的,但有时候会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]