服务程序运行一段时间后,莫名其妙的退出,系统日志里有一条事件ID为1000的错误记录。如下图:
0xc0000409错误是程序堆栈溢出, 说明有一个变量溢出了。什么样的变量可能会溢出,只能是数组了。不要试图用map文件去找错误位置,我试过了,不行,无法定位。只有一个办法,就是去找所有有memcpy的地方,看数组的大小是否能容下要拷贝的数据,尽量进行限制。如下图:
直接调试就会出现下图错误
编译后运行,就会错误退出,并在系统日志里留下记录。
思路就是这样的,出错的兄弟慢慢在代码里找吧。
服务程序运行一段时间后,莫名其妙的退出,系统日志里有一条事件ID为1000的错误记录。如下图:
0xc0000409错误是程序堆栈溢出, 说明有一个变量溢出了。什么样的变量可能会溢出,只能是数组了。不要试图用map文件去找错误位置,我试过了,不行,无法定位。只有一个办法,就是去找所有有memcpy的地方,看数组的大小是否能容下要拷贝的数据,尽量进行限制。如下图:
直接调试就会出现下图错误
编译后运行,就会错误退出,并在系统日志里留下记录。
思路就是这样的,出错的兄弟慢慢在代码里找吧。