业务系统运行中会随机报错内存read 00000000
用二分法对代码进行依次屏蔽,找到出错代码大致范围。
具体原因是用zeromemory对一个结构数组中的值进行清空操作时获取内存大小sizeof漏写下标。。。。
错误代码:zeromemory(@arr[i],sizeof(arr)).
正确代码:zeromemory(@arr[i],sizeof(arr[i])).
错误代码执行后会清空超范围的内存,导致内存报错。
此错误原因调试查找过程曲折,仅作记录
业务系统运行中会随机报错内存read 00000000
用二分法对代码进行依次屏蔽,找到出错代码大致范围。
具体原因是用zeromemory对一个结构数组中的值进行清空操作时获取内存大小sizeof漏写下标。。。。
错误代码:zeromemory(@arr[i],sizeof(arr)).
正确代码:zeromemory(@arr[i],sizeof(arr[i])).
错误代码执行后会清空超范围的内存,导致内存报错。
此错误原因调试查找过程曲折,仅作记录