堆栈写越界造成崩溃的一种特征

对于C++程序,如果遇到如下崩溃的栈信息,一般都是栈被破坏了。需要检查下崩溃处的代码片段附近,是否存在堆栈被越界写的情况。

实际项目中,由于定义了如下栈上的数组,后续代码memcpy写越界,造成崩溃。且这种崩溃为非必现。

char szData[1024] = { 0 };

(gdb) bt
#0  0x00007f6210a9e64f in pthread_getspecific () from /lib64/libpthread.so.0
#1  0x00007f62107a0039 in Poco::SignalHandler::jumpBufferVec() () from /app_home/lib/Poco/libPocoFoundation.so.62
#2  0x00007f62107a00a8 in Poco::SignalHandler::handleSignal(int) () from /app_home/lib/Poco/libPocoFoundation.so.62
#3  <signal handler called>
#4  0x00007f620f37d643 in __memmove_avx_unaligned_erms () from /lib64/libc.so.6
#5  0x00007f620e93b9f4 in XXXXXXXXXXXXX::Mediaserver::MediaSession::SendProStremInfo (this=0x2007da0, pFifoSendThread=...)
    at /XXXXXXXXXXX/src/MediaServer/MediaSession.cpp:2189
#6  0x2b9683b309dfa9c4 in ?? ()
#7  0x947d8c9efdc57c38 in ?? ()
#8  0xbd7b59c8d7451a84 in ?? ()
#9  0xde079bf0ad486d9e in ?? ()
#10 0xd476b67379d68e9e in ?? ()
#11 0xbfb9d4b08a28b719 in ?? ()
#12 0x4c0a5f92686ec2c7 in ?? ()
#13 0x69f89904a04f542d in ?? ()
#14 0x674efc0271252d96 in ?? ()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值