程序不定时崩溃,原因不好找,采用eurekalog分析,图片如下,高手分析下。
程序不定时崩溃,原因不好找,采用eurekalog分析,图片如下,高手分析下。
系统不定时崩溃,有时候工作1天都没问题,并且也对addsysmsg函数有调用,但有时候就弹出错误对话框,提示内存read错误,导致程序崩溃。
addsysmsg1的代码:
void __fastcall TFmMain::AddSysMsg1(String Caption)
{
try
{
if(bQuit) return;
cmd_1->CommandText="insert into xms_log (logtime,content) values ('" + FormatDateTime("yyyy-MM-dd HH:mm:ss",Now()) + "','" + Caption + "')";
cmd_1->Execute();
//SaveXmsLog(FormatDateTime("yyyy-MM-dd HH:mm:ss",Now()),Caption);
}catch(Exception &e)
{
//FmMain->AddSysMsg("AddSysMsg:" + e.Message);
}
}
[解决办法]
是否用到了多线程?
[解决办法]
如果你用的是CB2009或以后的版本。,注意一下Unicode的问题,很多时候都是由它引起的
[解决办法]
换成Fastmm编译试试。
[解决办法]
DONJIN Keygoe?
[解决办法]
EvtHander不是主线程(是DLL中创建的线程),不应该直接在该函数中直接处理VCL,应该Post到主线程