access violation at address 2072756F. Read of address 2072756f

dongmei757 2010-03-15 12:12:21
自己编写的程序,运行时有时候会出现象"access violation at address 2072756F. Read of address 2072756F",(2072756F不定),请教 象这样的错误查找从何入手呢?或者什么情况会引起这样的错误提示?
...全文
177 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Elvis_chen 2011-07-20
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 gyk120 的回复:]
一般这种情况都可以用map文件定位,找错误会比较方便
[/Quote]

怎么定位源代码?
亮剑_ 2010-03-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 sqldebug_fan 的回复:]
此类错误是访问了非法的内存,有可能引起的原因是:内存没有申请就使用,对象没有实例化就使用了,已经释放的内存和对像再次使用,一般调试就可以解决。也可以使用另外一种办法:

……
[/Quote]
SQLDebug_Fan 2010-03-15
  • 打赏
  • 举报
回复
此类错误是访问了非法的内存,有可能引起的原因是:内存没有申请就使用,对象没有实例化就使用了,已经释放的内存和对像再次使用,一般调试就可以解决。也可以使用另外一种办法:

Access violation是程序中最常见的一种错误,但是我们可以利用Access violation的提示信息,定位到源代码的具体位置,例如:Access violation at address 005B21FE in module Project1.exe'. Read of address 8080809C,其中005B21FE就是MAP地址,我们只要用这个公式:005B21FE-400000-1000=1B11FE,然后通过源代码生成的MAP文件找到最近的位置,就可以定位了。MAP文件的结构为:2997 0001:001B11F3 3000 0001:001B1207,它是和源代码对应的,前面是源代码行,后面是MAP地址,在DELPHI中生成MAP文件的选项是:Project->Options->Linker->Map file->选中Detailed
starluck 2010-03-15
  • 打赏
  • 举报
回复
访问了已经释放的对象这些..
yxyusixiao 2010-03-15
  • 打赏
  • 举报
回复
设置断点单步执行看看....
gyk120 2010-03-15
  • 打赏
  • 举报
回复
一般这种情况都可以用map文件定位,找错误会比较方便

16,749

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧