关于程序错误“该内存不能为‘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,解决这种问题最好的办法,没有之一
推荐阅读
- 过节■江苏省委省政府办公厅下发关于做好2021年元旦春节期间有关工作的通知
- 招聘都要学历,何来程序员不看学历
- 银行系统的研发岗(程序员)是不是很难进(校招)推广到国企的研发岗(程序员)呢
- 坐标合肥,请问在哪里能捕捉到程序员这种生物他们大都出现在哪里呢
- 程序猿和产品汪能愉快的一起谈恋爱嘛
- 怎样成为一名合格的Python程序员?
- |徐州市出台《关于优化创新创业生态系统 提升区域科技创新活力的实施意见》及实施细则
- 雨下|全球关于禁售燃油车只是理论上可行吗
- 我是程序猿养了条狗,取啥名字好
- 送程序员男友苹果无线耳机还是专业品牌耳机
