平台崩溃之operator new异常(九)-2010-5-20

来源:互联网 发布:牡医学院网站网络教学 编辑:程序博客网 时间:2024/04/29 09:09

2010-5-20

今天中午11:40分左右,平台报user breakp错误,调用栈如下:
MSVCRTD! 10211920()
MSVCRTD! 10211863()
MSVCRTD! 10211836()
MSVCRTD! 1020e1be()
MSVCP60D! 104b7a69()
MSVCP60D! 104ad0d2()
MSVCP60D! 1048ba18()
MSVCP60D! 1048bccc()
MSVCP60D! 1048a005()
MSVCP60D! 1048a060()
MSVCP60D! 10489bb3()
LogMsg(const char * 0x02fa884c `string') line 50 + 15 bytes
CRTOPlugin::GetOrg(unsigned int 10008, unsigned char 1) line 740 + 24 bytes
CRTOPlugin::HandleSend(umxns::CUMXApp * 0x1e7b3d50, CWrappedMsg<umxns::CUMXApp> * * 0x1ac1fe48) line 339 + 20 bytes
HTX_Msg_Sender::handle_message_block(ACE_Message_Block * 0x1e7c2420) line 956 + 49 bytes
HTX_Task_Base::svc() line 103 + 17 bytes
ACED! 00585301()
ACED! 00585ab7()
ACED! 005859e4()
ACED! 004fa836()
MSVCRTD! 1020c323()
KERNEL32! 7c824829()

本地服务器上线问题:
问题1:平台启动初,本地服务器反复的连上来又断开
  原因:是因为本地的同步调用超时,引起超时的原因是平台sap在处理501(服务器上线)请求时,在查询软件包版本号时,有一把大的互斥锁。
  解决办法:缩小锁的互斥范围。已解决
问题2:在运行过程中,本地服务器反复的连上来又断开
  该问题待查。
  

今天把平台的sdk库改为静态链接库,插件静态链接。代码已经改好。
18:40替换程序,于19:20分左右重启平台。


字符串拷贝函数strcpy和strncpy的不安全性
strcpy:使用不当则会导致内存越界,破坏内存(测试现象是破坏下一个变量的值)
strncpy:该函数虽然第3个参数带有目标缓冲区长度,所以不会导致越界。但如果原字符串大于目标缓冲区,该函数不会自动写入'/0'(字符串结束标记),导致字符串没有结束,读到的字符串就是不可预期。

 

原创粉丝点击