关于程序错误“该内存不能为‘read’”要咋找到问题代码所在呢

linux下可以开启coredump。这样在gdb调试时就可以查看堆栈信息。windows下用vs运行程序弹框时点重试,自动跳转。如果都没辙的话在代码可以处加日志输出,确定代码大致范围。之后在大致范围内用二分法注释代码,看注释掉哪一行时不弹框就是哪一行。
■网友
一般来说这种错误都有一个在某地址读取内存出错,如:at address 00752CDC in module \u0026#39;xxx.exe\u0026#39;. Read of address 00000014这个00752CDC就可以对应到某一行哪个地方,前提是你发布时生产了map文件,map文件里记录了地址和行号之间的关系。具体怎样使用map文件,自己google一下“map文件使用”吧,资料很多的
■网友
valgrind,解决这种问题最好的办法,没有之一


    推荐阅读