JBTALKS.CC

标题: Attempted to read or write protected memory. [打印本页]

作者: bearish    时间: 2009-4-8 03:33 PM
标题: Attempted to read or write protected memory.
如题:本人偶尔会hit到这error,结果PC HANG,然后就出现Send Error Report or Don't Send message.就算click Send 或 Don't Send,all windows explorer/ folders 就会close到完以及正在process的东西都会被terminated。





以上的error 就是catch exception prompt给我的。涂黑的部分就不方便显示。它是一个DLL来地。call 的function叫GetFolderFile2
Call 这GetFolderFile2 function 会下载XML, 然后读XML将XML里DATA的add进ListView
这GetFolderFile2 function是要connect server(JBoss) 拿到最新的资料,然后通过read XML更新listview里的资料
过程或许是读XML,然后将XML里的DATA add进ListView里时trigger出这error的瓜.
会prompt这error是我连续(三次以上)在跑copy & paste files from windows to namespace。如果是一到两或三次copy & paste很多的files就没问题。

drag & drop files的话就没问题。不管多少次。
copy&paste 和drag&drop的写法几乎相近 (不知是不是clipboard引发的还是.NET 2.0的bug)


真惨呀!!

不知哪为大大可曾面对这样的问题以及如何解决?
本人用VB .NET(VISUAL STUDIO 2005),.NET 2.0,JAVA, JBOSS,WinXP PRO SP2
作者: Super-Tomato    时间: 2009-4-8 05:14 PM
原帖由 bearish 于 2009-4-8 03:33 PM 发表
如题:本人偶尔会hit到这error,结果PC HANG,然后就出现Send Error Report or Don't Send message.就算click Send 或 Don't Send,all windows explorer/ folders 就会close到完以及正在process的东西都会被te ...



如果你是用 try...catch 的話應該很清楚問題啊,這樣写的話很難掌握問題點
作者: bearish    时间: 2009-4-8 06:08 PM
原帖由 Super-Tomato 于 2009-4-8 05:14 PM 发表



如果你是用 try...catch 的話應該很清楚問題啊,這樣写的話很難掌握問題點


后来我一行一行的check/test,coding是没问题的 (整个的process已经跑完了)

某叮订window就prompt 这message


不过我知道是我的program引发的, 但要如何追踪呢?(整个的process已经跑完了)
作者: Super-Tomato    时间: 2009-4-8 06:33 PM
原帖由 bearish 于 2009-4-8 06:08 PM 发表


后来我一行一行的check/test,coding是没问题的 (整个的process已经跑完了)

某叮订window就prompt 这message
http://www.troublefixers.com/wp- ... nwindowsexplorerget ...



检查看看是不是没有释放某些资源
作者: goodday    时间: 2009-4-8 10:21 PM
按 debug 看那一个 runtme 出事咯
jboss 的 em0011
你的 JDK version对吗???

按了debug 的 runtime paste 来看看
你有 vs2005 他会 stack 到哪里 会很清楚 的咯
作者: bearish    时间: 2009-4-9 08:49 AM
原帖由 goodday 于 2009-4-8 10:21 PM 发表
按 debug 看那一个 runtme 出事咯
jboss 的 em0011
你的 JDK version对吗???

按了debug 的 runtime paste 来看看
你有 vs2005 他会 stack 到哪里 会很清楚 的咯


1. 我是用VB.NET
2. call的function是由一个namespace(DLL)call 另一个DLL里面的function, 应该无法stack 吧(必须compile成DLL)
我是采用record log的方法,一行一行的check, 要是log 有record到,代表那行的code没问题

[ 本帖最后由 bearish 于 2009-4-9 08:52 AM 编辑 ]
作者: Super-Tomato    时间: 2009-4-9 12:48 PM
原帖由 bearish 于 2009-4-9 08:49 AM 发表


1. 我是用VB.NET
2. call的function是由一个namespace(DLL)call 另一个DLL里面的function, 应该无法stack 吧(必须compile成DLL)
我是采用record log的方法,一行一行的check, 要是log 有record到,代表 ...



那麼你的 API 最好是在發生錯誤的時候回傳 false 和錯誤訊息, 這樣方便自己使用
作者: goodday    时间: 2009-4-10 02:40 AM
denpandency walker 和 spy ++ 呢??
作者: bearish    时间: 2009-4-10 02:56 PM
原帖由 Super-Tomato 于 2009-4-9 12:48 PM 发表



那麼你的 API 最好是在發生錯誤的時候回傳 false 和錯誤訊息, 這樣方便自己使用


问题是我的program已经跑完了没有任何的error, 过了几秒window就prompt那个message了

无发在發生錯誤的時候回傳 false 和錯誤訊息, 因为program finish running
作者: bearish    时间: 2009-4-10 02:56 PM
原帖由 goodday 于 2009-4-10 02:40 AM 发表
denpandency walker 和 spy ++ 呢??


可以解说如何使用??
作者: Super-Tomato    时间: 2009-4-10 04:12 PM
原帖由 bearish 于 2009-4-10 02:56 PM 发表


问题是我的program已经跑完了没有任何的error, 过了几秒window就prompt那个message了
http://www.troublefixers.com/wp- ... _114EF/windowsexplo ...



既然這樣就使用 VB.NET 提供給你的 Debug 功能一行行的 trace, 只要到錯誤的地方自然就知道是哪一行造成這個問題了
作者: 磨刀狂徒    时间: 2009-4-10 11:58 PM
恩 第一次看到这种问题,如果vb jboss都没有问题,是否是xml的问题,之前遇过一个问题是oracle app从xml读取数据时蓝屏,原因是因为msxml parser遗失关联文件的关系,导致内存溢出...希望有帮助

[ 本帖最后由 磨刀狂徒 于 2009-4-11 12:00 AM 编辑 ]
作者: voyager    时间: 2009-5-14 11:52 AM
仁兄和我遇到的问题一样!
不过我的应该是multi threading造成的,那个program是每一秒就会有50-100新的thread。
开一个program没有问题,但是开几个同样的program,会有5-10%可能发生这个问题,跑到一半就有exception了。

我也不知道要怎么办好......




欢迎光临 JBTALKS.CC (https://jbtalks.my/) Powered by Discuz! X2.5