关于程序错误“该内存不能为"read"”要怎么找到问题代码所在呢?
程序调试时的跳出对话框“…… - 应用程序错误”“……指令引用的……内存。该内存不能为"read" ”。这样的错误不像编译时的错误那样直接就会告诉我是哪一行哪个地方有错误,菜鸟面对这样的情况总会有点不知所措。那么对于这样的情况有哪些调试的办法呢?该怎么定位到问题代码所在呢?
[解决办法]
取消 进入调试
[解决办法]
断点。输出。
[解决办法]
再重试 会自动帮你断到出错语句
[解决办法]
不是你的语句就翻堆栈调用栏 往下翻
[解决办法]
遇到错误时,关键是要有错误现场!
错误现场就是堆栈
无论windows,还是linux
前者有堆栈,后者有core dump
只有要调试器,看现场,没有大问题所言。
[解决办法]
估记你的程序有野指针,没有初始化吧!
[解决办法]
访问冲突,估计指针没赋空
[解决办法]
debugger。
勤练基本功,加深对内存的理解,减少犯错误的机会。
[解决办法]
也有可能是数组越界
[解决办法]
崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处。