运行DNW出现访问内存违例的问题解决
2009-10-30 11:42
387 查看
问题的出现起源于在运行DNW的时候死机,重启后就出现了这个问题。开始的时候以为是应用程序或相关联的DLL被破坏,但是在拷贝完所有的文件后问题依旧。
对于这个问题百思不得其解,总不至于要重装系统吧? 答案是:不用,因为我们有强大的反编译软件OllyDbg,将DNW用OllyDbg运行起来后,在出异常的地方可以看到一行命令是将内存的一个地方和0x0a进行字节比较,这个内存是无法访问的,在往前看数行代码发现有字符串拷贝,源字符串内容是"0xc000000",这不就是DWN缺省的下载地址吗?这个地址在DNW启动或者在DNW中改变就会保存到dnw.ini中,现在是启动的时候出问题,难道是dnw.ini出了问题? 找到dnw.ini发现内容为空,终于找到了原因:那就是DNW运行后会找开dnw.ini读设置参数,然后一直打开,在退出的时候才会关闭dnw.ini。这就是非正常启动后dnw.ini变为空的原因。
我想如果要改进的话,一来在读入的时候要判断;二来就是每次读写操作后就关闭。
对于这个问题百思不得其解,总不至于要重装系统吧? 答案是:不用,因为我们有强大的反编译软件OllyDbg,将DNW用OllyDbg运行起来后,在出异常的地方可以看到一行命令是将内存的一个地方和0x0a进行字节比较,这个内存是无法访问的,在往前看数行代码发现有字符串拷贝,源字符串内容是"0xc000000",这不就是DWN缺省的下载地址吗?这个地址在DNW启动或者在DNW中改变就会保存到dnw.ini中,现在是启动的时候出问题,难道是dnw.ini出了问题? 找到dnw.ini发现内容为空,终于找到了原因:那就是DNW运行后会找开dnw.ini读设置参数,然后一直打开,在退出的时候才会关闭dnw.ini。这就是非正常启动后dnw.ini变为空的原因。
我想如果要改进的话,一来在读入的时候要判断;二来就是每次读写操作后就关闭。
相关文章推荐
- 修改桌面堆栈大小,解决运行大量程序时出现”Out of Memory”(内存不足)错误信息的问题
- 修改桌面堆栈大小,解决运行大量程序时出现”Out of Memory”(内存不足)错误信息的问题
- tomcat设置内存大小--解决内存溢出问题PermGen space、项目运行出现乱码
- php出现内存位置访问无效错误问题解决方法
- php出现内存位置访问无效错误问题解决方法
- 解决Unity 3D 在运行iOS程序时出现mscorlib.dll找不到的问题
- 解决访问后台服务出现跨域问题,设置jsonp格式
- 转换json关联集合运行时出现懒加载问题解决方案
- Django问题解决:域名访问出现『bad request』解决
- 关于python里运行出现'module' object has no attribute 'xxxx'等问题解决方法
- Winform程序安装后打开出现程序停止运行问题解决方法
- 解决IDEA编译通过能运行但是出现红色下划线的问题idea cant resolve symbol"xxx"
- 解决win2003里IIS运行ASP时出现请求资源在使用中的问题
- discuz运行过程中出现问题的一些尝试解决办法
- 访问Storm ui界面,出现org.apache.storm.utils.NimbusLeaderNotFoundException: Could not find leader nimbus from seed hosts ["master" "slave1"]. Did you specify a valid list of nimbus hosts for confi的问题解决(图文详解)
- 解决在启动eclipse的tomcat进行访问时出现404问题的方法
- Ubuntu系统下运行Eclipse出现找不到jre的问题的解决方法
- matlab运行过程中出现找不到指定模块问题解决
- 解决DiscuzNT!访问时出现"Service Unvaliable"的问题
- 解决XP下运行RPC显示“拒绝访问”的问题