中国共享软件联盟's Archiver

fish 发表于 2009-9-15 17:42

0x74cf24c4 该内存不能为"read"

应用程序错误:"0x24a2c7f5"指令引用的"0x74cf24c4"内存。该内存不能为"read"
最近新版本在某些用户的电脑上出现这个错误
0x74cf24c4 是程序地址,但不可能是程序自身引用的
感觉是某个驱动程序的地址
大家有相关经验吗?

兰兰 发表于 2009-9-15 18:33

是用C++开发的吗,估计是你乱用指针的缘故.检测下指针.

fish 发表于 2009-9-15 19:43

不是我的问题,0x74cf24c4 已经不是我程序指针的范围了
指针问题一般是0xc0000005
现在怀疑是WDMAUD.drv 的问题,但手头4台电脑都不出错
兼容性太好了:(

Shell 发表于 2009-9-15 22:08

应该不是驱动问题,驱动程序出错就蓝屏了。
访问越界不一定是0xC0000005,很多情况会造成访问越界。可以要求客户把dump文件给你。

5bxb 发表于 2009-9-15 22:59

楼上几位强人啊
我遇到类似的错误总是头疼,要一段一段排错
请楼上几位传授排错经验
我遇到不能读写内存的错误的时候,是将代码屏蔽一段在运行来检查,没出错就换一点屏蔽
要是这个错误我电脑上没出现,在客户电脑上出现了,我就没办法了
:(

player1 发表于 2009-9-16 00:04

用户给出内存访问出错地址,由MAP可以定位到代码行的

fish 发表于 2009-9-16 00:16

是flash.ocx和DirectMusic导致的兼容性问题
但还不知道这么解决
Flash Bug超多

sitemap 发表于 2009-9-16 00:26

楼主用了HOOK?

fish 发表于 2009-9-16 00:30

[b] [url=http://www.cnsw.org/bbs/redirect.php?goto=findpost&pid=504776&ptid=93231]8#[/url] [i]sitemap[/i] [/b]

没有啊

fish 发表于 2009-9-16 00:37

[quote]用户给出内存访问出错地址,由MAP可以定位到代码行的
[size=2][color=#999999]player1 发表于 2009-9-16 00:04[/color] [url=http://www.cnsw.org/bbs/redirect.php?goto=findpost&pid=504769&ptid=93231][img]http://www.cnsw.org/bbs/images/common/back.gif[/img][/url][/size][/quote]

map 文件的内存地址好像都是0x00开头的
我的是0x74开头的,是调用了flash的问题

player1 发表于 2009-9-16 08:26

[quote]

map 文件的内存地址好像都是0x00开头的
我的是0x74开头的,是调用了flash的问题
[size=2][color=#999999]fish 发表于 2009-9-16 00:37[/color] [url=http://www.cnsw.org/bbs/redirect.php?goto=findpost&pid=504783&ptid=93231][img]http://www.cnsw.org/bbs/images/common/back.gif[/img][/url][/size][/quote]

你不说还没注意,0x74,按说这不是自己程序的问题了,涉及COM/DCOM方面了,只用了flash?

AugustYe 发表于 2009-9-16 08:32

楼主的flash.ocx是最新版吗

fish 发表于 2009-9-16 13:20

flash.ocx 换了各种版本,都是一样的错误
现在问题已经锁定到sp3系统的,出错的用户有2个是sp3系统的,还有一个还未反馈
怀疑是hd系列的sp3声卡驱动有兼容性问题,释放DirectMusic的时候导致flash.ocx出错

这真是ms,adobe,realtek联合造的孽啊,为什么要我承担:'(

missdeer 发表于 2009-9-16 19:32

[quote]flash.ocx 换了各种版本,都是一样的错误
现在问题已经锁定到sp3系统的,出错的用户有2个是sp3系统的,还有一个还未反馈
怀疑是hd系列的sp3声卡驱动有兼容性问题,释放DirectMusic的时候导致flash.ocx出错

这真是ms ...
[size=2][color=#999999]fish 发表于 2009-9-16 13:20[/color] [url=http://www.cnsw.org/bbs/redirect.php?goto=findpost&pid=504914&ptid=93231][img]http://www.cnsw.org/bbs/images/common/back.gif[/img][/url][/size][/quote]
不一定是人家的错,也许你调用人家时,给的参数就是错的呢

player1 发表于 2009-9-16 20:11

[quote]
不一定是人家的错,也许你调用人家时,给的参数就是错的呢
[size=2][color=#999999]missdeer 发表于 2009-9-16 19:32[/color] [url=http://www.cnsw.org/bbs/redirect.php?goto=findpost&pid=505059&ptid=93231][img]http://www.cnsw.org/bbs/images/common/back.gif[/img][/url][/size][/quote]

也有可能,犯过这种错误,不过好像反映没有这样强烈:lol

fish 发表于 2009-9-16 22:48

[b] [url=http://www.cnsw.org/bbs/redirect.php?goto=findpost&pid=505059&ptid=93231]14#[/url] [i]missdeer[/i] [/b]

我也希望是我的问题
现在我的4台电脑全部无法reproduce,非常头疼

Shell 发表于 2009-9-17 00:55

[quote]楼上几位强人啊
我遇到类似的错误总是头疼,要一段一段排错
请楼上几位传授排错经验
我遇到不能读写内存的错误的时候,是将代码屏蔽一段在运行来检查,没出错就换一点屏蔽
要是这个错误我电脑上没出现,在客户电脑上 ...
[size=2][color=#999999]5bxb 发表于 2009-9-15 22:59[/color] [url=http://www.cnsw.org/bbs/redirect.php?goto=findpost&pid=504748&ptid=93231][img]http://www.cnsw.org/bbs/images/common/back.gif[/img][/url][/size][/quote]

多谢5bxb评分。屏蔽code是万不得已才使用的方法,一般不怎么用的上。本机上内存不能读写的错误呢,可以进入调试器,然后看call stack,应该很容易知道怎么出错的。如果是指针在什么地方被删掉了不知道呢,使用memory breakpoint,在你监控的内存被改动的时候会break,这样你很容易就知道哪里这块内存被错误的修改了。不过有call stack应该可以解决绝大部分的case。

如果错误是在客户机器上呢,最好是crash掉,然后你可以把dump上传到你的服务器上,下载dump就可以调试了。 有一点,每次你发布新的版本,pdb还有source code一定要做一个备份。类似branch开发的模式。每次要发布一个新版本的时候,去source code 管理器里面创建新的branch,然后编译和发布。

也许你会问怎么把客户的dump传过来。如果客户好心还不嫌麻烦呢,就指导客户做。如果自己做呢,就设置全局的unhandled exception handler,然后在crash之后导入dbghelp.dll的函数生成dump,最后调用外部程序,比如curl传回自己的网站。我是这么做的。我的网站上每天都能收到好几个用户crash之后的dump。只是我很久都懒的更新了,因为无利可图:P

最后,做共享只是我的业余爱好,和牛牛们比差远了,目前就够每个月买几瓶水喝的。最近几年都没没做出啥新产品,思路换过好多次,没能坚持下来。工作上也很多事情,家里也有很多事情,年纪也大了,没法兼顾。

player1 发表于 2009-9-17 11:06

[quote]flash.ocx 换了各种版本,都是一样的错误
现在问题已经锁定到sp3系统的,出错的用户有2个是sp3系统的,还有一个还未反馈
怀疑是hd系列的sp3声卡驱动有兼容性问题,释放DirectMusic的时候导致flash.ocx出错

这真是ms ...
[size=2][color=#999999]fish 发表于 2009-9-16 13:20[/color] [url=http://www.cnsw.org/bbs/redirect.php?goto=findpost&pid=504914&ptid=93231][img]http://www.cnsw.org/bbs/images/common/back.gif[/img][/url][/size][/quote]

这种系统升级带来的问题,比较烦,总不能要求用户不升级维护系统吧,除非你的应用对用户来说很关键,你可以要求用户换台机器,多送几份注册码吧。。。

missdeer 发表于 2009-9-18 22:54

[quote]

也有可能,犯过这种错误,不过好像反映没有这样强烈:lol
[size=2][color=#999999]player1 发表于 2009-9-16 20:11[/color] [url=http://www.cnsw.org/bbs/redirect.php?goto=findpost&pid=505075&ptid=93231][img]http://www.cnsw.org/bbs/images/common/back.gif[/img][/url][/size][/quote]
要强烈很容易的。很多API接受一个字符串数组,返回一个字符串,如果你字符串给小点,一下就崩溃了。

player1 发表于 2009-9-18 23:25

[quote]
要强烈很容易的。很多API接受一个字符串数组,返回一个字符串,如果你字符串给小点,一下就崩溃了。
[size=2][color=#999999]missdeer 发表于 2009-9-18 22:54[/color] [url=http://www.cnsw.org/bbs/redirect.php?goto=findpost&pid=505718&ptid=93231][img]http://www.cnsw.org/bbs/images/common/back.gif[/img][/url][/size][/quote]

:lol无聊了去搞它一搞

页: [1] 2

Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.