map insert执行崩溃

print call frame now:
frame 0 -- ./datactlserver(_Z13SignalHandleri+0x50) [0x4102e0]
frame 1 -- /lib64/libc.so.6() [0x376e832a20]
frame 2 -- /usr/lib64/libstdc++.so.6(_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_+0x5f) [0x3774069fbf]
frame 3 -- ./datactlserver(_ZNSt8_Rb_treeIjSt4pairIKjP13RecvStateInfoESt10_Select1stIS4_ESt4lessIjESaIS4_EE10_M_insert_EPKSt18_Rb_tree_node_baseSD_RKS4_+0xb1) [0x427b97]
frame 4 -- ./datactlserver(_ZNSt8_Rb_treeIjSt4pairIKjP13RecvStateInfoESt10_Select1stIS4_ESt4lessIjESaIS4_EE16_M_insert_uniqueERKS4_+0x1e6) [0x426f0c]
frame 5 -- ./datactlserver(_ZNSt3mapIjP13RecvStateInfoSt4lessIjESaISt4pairIKjS1_EEE6insertERKS6_+0x23) [0x426521]
frame 6 -- ./datactlserver(_ZN11CThreadPool17PushSockStateInfoEi13RecvStateInfo+0x113) [0x425e8f]
frame 7 -- ./datactlserver(_ZN13CListenThread6ListenEv+0x490) [0x42aeb8]
frame 8 -- ./datactlserver(_ZN13CListenThread3RunEv+0x4b) [0x42a8f3]

/home/dong.zhang/work/2.22/datactl/src/server/src/threadpoll.cpp:1109
        m_pSockStateQueue->insert(pair<INT32, RecvStateInfo*>(sock, pSockStateInfo));
  425e4b:	48 8d 55 c8          	lea    -0x38(%rbp),%rdx
  425e4f:	48 8d 4d b4          	lea    -0x4c(%rbp),%rcx
  425e53:	48 8d 45 f0          	lea    -0x10(%rbp),%rax
  425e57:	48 89 ce             	mov    %rcx,%rsi
  425e5a:	48 89 c7             	mov    %rax,%rdi
  425e5d:	e8 42 06 00 00       	callq  4264a4 <_ZNSt4pairIiP13RecvStateInfoEC1ERKiRKS1_>
  425e62:	48 8d 55 f0          	lea    -0x10(%rbp),%rdx
  425e66:	48 8d 45 e0          	lea    -0x20(%rbp),%rax
  425e6a:	48 89 d6             	mov    %rdx,%rsi
  425e6d:	48 89 c7             	mov    %rax,%rdi
  425e70:	e8 5d 06 00 00       	callq  4264d2 <_ZNSt4pairIKjP13RecvStateInfoEC1IiS2_EERKS_IT_T0_E>
  425e75:	48 8b 45 b8          	mov    -0x48(%rbp),%rax
  425e79:	48 8b 80 24 02 00 00 	mov    0x224(%rax),%rax
  425e80:	48 8d 55 e0          	lea    -0x20(%rbp),%rdx
  425e84:	48 89 d6             	mov    %rdx,%rsi
  425e87:	48 89 c7             	mov    %rax,%rdi
  425e8a:	e8 6f 06 00 00       	callq  4264fe <_ZNSt3mapIjP13RecvStateInfoSt4lessIjESaISt4pairIKjS1_EEE6insertERKS6_>
  425e8f:	48 89 c1             	mov    %rax,%rcx
  425e92:	89 d0                	mov    %edx,%eax
  425e94:	48 89 4d a0          	mov    %rcx,-0x60(%rbp)
  425e98:	88 45 a8             	mov    %al,-0x58(%rbp)
  425e9b:	48 8b 45 a0          	mov    -0x60(%rbp),%rax
  425e9f:	48 89 45 d0          	mov    %rax,-0x30(%rbp)
  425ea3:	0f b6 45 a8          	movzbl -0x58(%rbp),%eax
  425ea7:	88 45 d8             	mov    %al,-0x28(%rbp)


增加保护机制,插入数据前检查MAP容器最大值和当前值,若小于等于则插入,若大于插入失败

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值