背景
某游戏钉钉联系我说出现dump导致模板异常,因为模板是我负责的,所以就顺便看了下
dump
链接:https://pan.baidu.com/s/1pyrJXtv26zLvhvfS3Ts2rA
提取码:48fo 
分析过程
查看异常点
1  | 0:034> .ecxr;kv  | 
出错代码
1  | void CHwTable::SetBottom(LPSET_BOTTOM pSetBottom)  | 
心中猜测应该就是 x 计算错误,导致m_aryCard(CArray)异常了
!analyze -v 查看异常原因
1  | EXCEPTION_RECORD: (.exr -1)  | 
是一个C++异常,很符合MFC的CArray的行为,具体查看原因
1  | 0:034> dd 740cbc8c l4  | 
明显的一个 “InvalidArgException”
说明
有的同学想看下CHwTable::SetBottom 中x 的参数内容,但是却看不到,其实是因为模板(publish_gametplserver1.0)层是开启了代码优化,所以看不到内容;
可以切换到上层CGameTable::OnSetBottom 这里查看成员变量的值(这个模块是没有开启优化的)