valgrind内存检测Warning: client switching stacks? SP change

Aceaura 2014-06-17 10:52:26
使用valgrind对服务器进程进行内存检查,发现如下错误,实在没有头绪,栈顶指针改变?

以下是valgrind的报错
==10422== For counts of detected and suppressed errors, rerun with: -v
==10422== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 6 from 6)
==10423== Warning: set address range perms: large range [0x3aeed040, 0x4bba2178) (undefined)
==10423== Warning: client switching stacks? SP change: 0x7feffff00 --> 0x7fecf2ac0
==10423== to suppress, use: --max-stackframe=3200064 or greater
==10423== Invalid write of size 8
==10423== at 0x68FB804: CCmdGetRankingList::DoWork() (ranking_cmd.cpp:180)
==10423== by 0x68FE6B4: lz::CAppsoInnerCmd<lz::CReqGetRankingList, 2003>::LogicDo(int) (lzapp_so_cmd.h:386)
==10423== by 0x6647661: lz::CAsyncCmd::Done(int) (lzasync_cmd.h:127)
==10423== by 0x69C128F: lz::CAppSoServerCmd<lz::CReqKvdbGetRankingListStrength, lz::CAnsKvdbGetRankingListStrength, 16021>::OnAnswer(void*) (lzapp_so_cmd.h:287)
==10423== by 0x48E2DC: CSvrConnect::HandleMsg(char*, int) (svrconn.cpp:350)
==10423== by 0x48DC3A: CSvrConnect::RecvdData() (svrconn.cpp:281)
==10423== by 0x48D804: CSvrConnect::Recv() (svrconn.cpp:226)
==10423== by 0x48CAF1: CSvrConnect::OnSvrEvent(lz::CEpollObject<CSvrConnect>*, int, int) (svrconn.cpp:54)
==10423== by 0x48482E: lz::CEpollObject<CSvrConnect>::OnEpollEvent(int) (lzepoll.h:344)
==10423== by 0x4598C1: lz::CEpoll::WaitAndEvent(int) (lzepoll.h:181)
==10423== by 0x45C33B: lz::CEpollAndShmSvr::WaitAndEvent() (lzepoll_and_shm_svr_fram.h:256)
==10423== by 0x4859CC: lz::CSvrBaseFrame::Run() (lzsvr_base_frame.h:134)
==10423== Address 0x7fecf2ac8 is on thread 1's stack
==10423==
==10423== Invalid read of size 8
==10423== at 0x68FB80B: CCmdGetRankingList::DoWork() (ranking_cmd.cpp:182)
==10423== by 0x68FE6B4: lz::CAppsoInnerCmd<lz::CReqGetRankingList, 2003>::LogicDo(int) (lzapp_so_cmd.h:386)
==10423== by 0x6647661: lz::CAsyncCmd::Done(int) (lzasync_cmd.h:127)
==10423== by 0x69C128F: lz::CAppSoServerCmd<lz::CReqKvdbGetRankingListStrength, lz::CAnsKvdbGetRankingListStrength, 16021>::OnAnswer(void*) (lzapp_so_cmd.h:287)
==10423== by 0x48E2DC: CSvrConnect::HandleMsg(char*, int) (svrconn.cpp:350)
==10423== by 0x48DC3A: CSvrConnect::RecvdData() (svrconn.cpp:281)
==10423== by 0x48D804: CSvrConnect::Recv() (svrconn.cpp:226)
==10423== by 0x48CAF1: CSvrConnect::OnSvrEvent(lz::CEpollObject<CSvrConnect>*, int, int) (svrconn.cpp:54)
==10423== by 0x48482E: lz::CEpollObject<CSvrConnect>::OnEpollEvent(int) (lzepoll.h:344)
==10423== by 0x4598C1: lz::CEpoll::WaitAndEvent(int) (lzepoll.h:181)
==10423== by 0x45C33B: lz::CEpollAndShmSvr::WaitAndEvent() (lzepoll_and_shm_svr_fram.h:256)
==10423== by 0x4859CC: lz::CSvrBaseFrame::Run() (lzsvr_base_frame.h:134)
==10423== Address 0x7fecf2ac8 is on thread 1's stack
==10423==
==10423== Invalid write of size 8
==10423== at 0x68FB826: CCmdGetRankingList::DoWork() (ranking_cmd.cpp:182)
==10423== by 0x68FE6B4: lz::CAppsoInnerCmd<lz::CReqGetRankingList, 2003>::LogicDo(int) (lzapp_so_cmd.h:386)
==10423== by 0x6647661: lz::CAsyncCmd::Done(int) (lzasync_cmd.h:127)
==10423== by 0x69C128F: lz::CAppSoServerCmd<lz::CReqKvdbGetRankingListStrength, lz::CAnsKvdbGetRankingListStrength, 16021>::OnAnswer(void*) (lzapp_so_cmd.h:287)
==10423== by 0x48E2DC: CSvrConnect::HandleMsg(char*, int) (svrconn.cpp:350)
==10423== by 0x48DC3A: CSvrConnect::RecvdData() (svrconn.cpp:281)
==10423== by 0x48D804: CSvrConnect::Recv() (svrconn.cpp:226)
==10423== by 0x48CAF1: CSvrConnect::OnSvrEvent(lz::CEpollObject<CSvrConnect>*, int, int) (svrconn.cpp:54)
==10423== by 0x48482E: lz::CEpollObject<CSvrConnect>::OnEpollEvent(int) (lzepoll.h:344)
==10423== by 0x4598C1: lz::CEpoll::WaitAndEvent(int) (lzepoll.h:181)
==10423== by 0x45C33B: lz::CEpollAndShmSvr::WaitAndEvent() (lzepoll_and_shm_svr_fram.h:256)
==10423== by 0x4859CC: lz::CSvrBaseFrame::Run() (lzsvr_base_frame.h:134)
==10423== Address 0x7fecf2ab8 is on thread 1's stack

但是在ranking_cmd.cpp的182行没看出什么异样


求给点思路!问题拖了几天了,拜托各位!
...全文
429 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧