过期主题 该主题因在两个月内没有任何回复而自动关闭。
如果您还对该主题感兴趣或者想参与对此主题的讨论,请您重新发表一篇相关的新主题。
关闭主题
第4页,共7页:  1  2  3  4  5  6  7  
主题工具  
dipplum 帅哥
极客II
级别:3 | 在线时长:99小时 | 升级还需:1小时级别:3 | 在线时长:99小时 | 升级还需:1小时级别:3 | 在线时长:99小时 | 升级还需:1小时
注册日期: 2008-09
帖子: 72
致谢: 17
2010-02-14, 20:41:35 #61 | TOP
谢谢,这下有方向了
回复时引用此帖
CrendKing
CrendKing 的头像
荣誉极客
级别:10 | 在线时长:608小时 | 升级还需:52小时级别:10 | 在线时长:608小时 | 升级还需:52小时级别:10 | 在线时长:608小时 | 升级还需:52小时级别:10 | 在线时长:608小时 | 升级还需:52小时级别:10 | 在线时长:608小时 | 升级还需:52小时
注册日期: 2005-12
帖子: 609
致谢: 306
2010-02-14, 21:19:20 #62 | TOP
dipplum,你可以编译一个 debug 版本给他,然后让他把 trace 出来的那个 _dbg.txt 发给你,就知道在哪个函数出错的了。 Event Log 完全不够啊。
回复时引用此帖
Rerven
Rerven 的头像
失踪极客
级别:1 | 在线时长:27小时 | 升级还需:3小时
注册日期: 2004-03
帖子: 45
2010-02-15, 00:36:00 #63 | TOP
explorer下面仍然還是有部分情況下crash的現象. 這個問題很鬱悶. 
回复时引用此帖
dipplum 帅哥
极客II
级别:3 | 在线时长:99小时 | 升级还需:1小时级别:3 | 在线时长:99小时 | 升级还需:1小时级别:3 | 在线时长:99小时 | 升级还需:1小时
注册日期: 2008-09
帖子: 72
致谢: 17
2010-02-15, 00:47:15 #64 | TOP
现有的_dbg.txt里面的信息,也很难发现crash发生的位置。研究了一晚上,终于发现一个比较好的调试方法,请explorer右键崩溃的同学帮忙测试一下:

1. start -> run -> services.msc,然后启动Windows Error Reporting Service(Windows错误汇报服务)

2. 导入附件的wer.reg到注册表,会激活user-mode,也就是用户应用程序的minidump的功能

3. 下载附件的ezgdi-x64.dll,尝试再重现一次explorer鼠标右键的错误

4. 到%LOCALAPPDATA%\LocalDumps (C:\Users\your_account\AppData\Local\CrashDumps)目录下找最新的dmp文件


5. 把dmp文件发给我,我可以用windbg和visual studio调试这个minidump文件,至少应该可以看到stack trace的信息。

(如果用了附件的dll,反而不能重现同样的错误,有新的错误,也麻烦一并把dmp发过来,同时再帮忙把原来的dll的dmp也发过来)

上述方法应该比较适合类似gdi++程序的调试,不过最好原始的dll有一点DEBUG信息(VC的/Zi参数)
上传的附件
文件类型: rar ezgdi-x64.rar (304.7 KB, 2 次查看)
文件类型: rar wer.rar (377 字节, 12 次查看)
此帖于 2010-02-15 01:27:21 被 dipplum 编辑.
回复时引用此帖
POKeDOLL
失踪极客
级别:3 | 在线时长:68小时 | 升级还需:32小时级别:3 | 在线时长:68小时 | 升级还需:32小时级别:3 | 在线时长:68小时 | 升级还需:32小时
注册日期: 2006-04
帖子: 19
2010-02-15, 00:54:13 #65 | TOP
這個wer.reg作測試後如何卸載?
ezgdi-x64.dll要放到哪?還是要把已在c:\windows的取代?
回复时引用此帖
dipplum 帅哥
极客II
级别:3 | 在线时长:99小时 | 升级还需:1小时级别:3 | 在线时长:99小时 | 升级还需:1小时级别:3 | 在线时长:99小时 | 升级还需:1小时
注册日期: 2008-09
帖子: 72
致谢: 17
2010-02-15, 01:16:53 #66 | TOP
删除这个键值就可以了:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps,其实如果Windows Error Reporting Service不开这个键值就不起作用。

是的,用ezgdi-x64.dll把原来C:\windows那个覆盖。

看看能不能生成dmp文件吧,不超过10M就email给我好了quinn.liqin A T gmail.com
回复时引用此帖
POKeDOLL
失踪极客
级别:3 | 在线时长:68小时 | 升级还需:32小时级别:3 | 在线时长:68小时 | 升级还需:32小时级别:3 | 在线时长:68小时 | 升级还需:32小时
注册日期: 2006-04
帖子: 19
2010-02-15, 01:19:37 #67 | TOP
我進safe mode剷光光一篇....
這裡給你crash dump
p.s. 我的路徑是 " C:\Users\your_account\AppData\Local\CrashDumps "
上传的附件
文件类型: 7z explorer.exe.1840.dmp.7z (188.0 KB, 2 次查看)
回复时引用此帖
dipplum 帅哥
极客II
级别:3 | 在线时长:99小时 | 升级还需:1小时级别:3 | 在线时长:99小时 | 升级还需:1小时级别:3 | 在线时长:99小时 | 升级还需:1小时
注册日期: 2008-09
帖子: 72
致谢: 17
2010-02-15, 01:57:50 #68 | TOP
好快,非常感谢。

是的,我写错了,应该是你说的这个路径,原帖已经改过来了。

请问,这个dump是更换了dll生成的么?和我想象的不太一样来着,错误信息不一样了,上次是Buffer Overflow,这次是Access Violation。不过总算多了点信息,至少看到了你系统中explorer.exe导入的模块DLL列表和虚地址映射,不过call stack没看到。但已经可以看出点东西来了。

目前我看到的dump,错误出现在easyhook给CreateFontA生成的hook里,这个bug就不好fix了,但有可能是我Hook装的太多的问题。这是目前ezgdi与gdimm在使用easyhook方式上的比较重要的区别,所以我想看看只hook ExtTextOutW 会不会就没有问题了。

因此,如果方便的话,再测试一下用本帖 附件1 的ezgdi-x64.dll,看看Explorer右键和其他bug会不会消失(但附件1的渲染效果可能会变差)。

如果能消失,就说明我的推测是正确的,那就再顺便测试下 附件2(附件2的渲染效果应该不会变差)。

不能消失,就算了,推测错误,我只有尝试装一个干净的Windows 7,看看能不能复现这个错误了。
上传的附件
文件类型: rar ezgdi-test1.rar (300.4 KB, 3 次查看)
文件类型: rar ezgdi-test2.rar (304.7 KB, 3 次查看)
此帖于 2010-02-15 05:05:05 被 dipplum 编辑.
回复时引用此帖
POKeDOLL
失踪极客
级别:3 | 在线时长:68小时 | 升级还需:32小时级别:3 | 在线时长:68小时 | 升级还需:32小时级别:3 | 在线时长:68小时 | 升级还需:32小时
注册日期: 2006-04
帖子: 19
2010-02-15, 14:27:20 #69 | TOP
test1和test2都可以了
1. explorer 右鍵沒crash
2. msn的信息欄可以正常顯示全個字, 沒有了半字的問題
3. 之前樓主提到的windows search半字問題沒有發生過(即使舊版也是, 當然fontloader=1)
4. 同上, IE8 32/64bit從沒有問題

現在正使用test2中
回复时引用此帖
CrendKing
CrendKing 的头像
荣誉极客
级别:10 | 在线时长:608小时 | 升级还需:52小时级别:10 | 在线时长:608小时 | 升级还需:52小时级别:10 | 在线时长:608小时 | 升级还需:52小时级别:10 | 在线时长:608小时 | 升级还需:52小时级别:10 | 在线时长:608小时 | 升级还需:52小时
注册日期: 2005-12
帖子: 609
致谢: 306
2010-02-15, 15:23:47 #70 | TOP
看来还是少勾为妙。dipplum 你要不也考虑一下把 gdi++ 的 32 位版也这么精简一下,说不定还稳定些。
回复时引用此帖
dipplum 帅哥
极客II
级别:3 | 在线时长:99小时 | 升级还需:1小时级别:3 | 在线时长:99小时 | 升级还需:1小时级别:3 | 在线时长:99小时 | 升级还需:1小时
注册日期: 2008-09
帖子: 72
致谢: 17
2010-02-15, 20:01:52 #71 | TOP
谢谢, 这个bug太让人绝望了,总算是有进展了:)

是的,我曾经有过这个想法并且也做出了一个版本。最后怕自己对gdi++的分析不够,担心反而精简后会引入新的bug而revert了。现在看来绝对有必要少勾一点,尤其是对easyhook而言,稳定性确实不如detours。

对了,CrendKing,你用easyhook的时候也可以注意一下,使用easyhook时,替换ExtTextOutW的handler内部,最好不要漏过Windows的结构化异常,如果你的handler发出异常跳出后,会导致easyhook认为该handler还在运行状态,后续对ExtTextOutW的调用会全都调用原API,而不是hook,渲染效果就会都没了。这点和detours是不一样的。
回复时引用此帖
riverZ
riverZ 的头像
极客II
级别:10 | 在线时长:601小时 | 升级还需:59小时级别:10 | 在线时长:601小时 | 升级还需:59小时级别:10 | 在线时长:601小时 | 升级还需:59小时级别:10 | 在线时长:601小时 | 升级还需:59小时级别:10 | 在线时长:601小时 | 升级还需:59小时
注册日期: 2009-07
帖子: 136
致谢: 28
2010-02-15, 21:20:16 #72 | TOP
又更新了,继续支持
回复时引用此帖
CrendKing
CrendKing 的头像
荣誉极客
级别:10 | 在线时长:608小时 | 升级还需:52小时级别:10 | 在线时长:608小时 | 升级还需:52小时级别:10 | 在线时长:608小时 | 升级还需:52小时级别:10 | 在线时长:608小时 | 升级还需:52小时级别:10 | 在线时长:608小时 | 升级还需:52小时
注册日期: 2005-12
帖子: 609
致谢: 306
2010-02-15, 21:28:57 #73 | TOP
我目前的程序没有任何异常处理,全是 assert,release 就什么都没啦。

对了,看到你的截图,你有没有 Anonymous 的博客地址啊?听说是 private 的。
回复时引用此帖
dipplum 帅哥
极客II
级别:3 | 在线时长:99小时 | 升级还需:1小时级别:3 | 在线时长:99小时 | 升级还需:1小时级别:3 | 在线时长:99小时 | 升级还需:1小时
注册日期: 2008-09
帖子: 72
致谢: 17
2010-02-15, 21:39:21 #74 | TOP
gdi++也没用,我也没处理,但就是因为没有对结构异常的处理才会导致easyhook出错,如果程序中不小心有个SEH从hook中漏出去(比如acess violation),用detours的gdi++就没问题,用easyhook的ezgdi就会出现hook失效,并且退出程序时死锁的问题。

没有诶,我copy的那篇是别人转载的:)
回复时引用此帖
Moresam
Moresam 的头像
极客II
级别:7 | 在线时长:309小时 | 升级还需:51小时级别:7 | 在线时长:309小时 | 升级还需:51小时
注册日期: 2007-01
帖子: 209
致谢: 76
2010-02-16, 22:36:45 #75 | TOP
已经用上了,效果非常不错,特来感谢。。。
就是有一点小不足,程序自带的配置文件貌似效果不是很好。。。
回复时引用此帖
Rerven
Rerven 的头像
失踪极客
级别:1 | 在线时长:27小时 | 升级还需:3小时
注册日期: 2004-03
帖子: 45
2010-02-17, 00:11:02 #76 | TOP
explorer崩潰現象已經基本解決?
回复时引用此帖
POKeDOLL
失踪极客
级别:3 | 在线时长:68小时 | 升级还需:32小时级别:3 | 在线时长:68小时 | 升级还需:32小时级别:3 | 在线时长:68小时 | 升级还需:32小时
注册日期: 2006-04
帖子: 19
2010-02-17, 00:18:54 #77 | TOP
你可以參考之前gid++的 ini文件, 參數是一樣的

今天找到了一個小問題, 就是轉系統主題時, 桌面圖示的文字底下會有白色出現
大概可能是我沒轉地區語言的問題?(主題是日方msn的nana系列, 我把系統語言換成日語後就沒事了....)還是字型問題?(系統是用正黑的, 但英文字的樣子卻像新細明體/Pmincho....
回复时引用此帖
CrendKing
CrendKing 的头像
荣誉极客
级别:10 | 在线时长:608小时 | 升级还需:52小时级别:10 | 在线时长:608小时 | 升级还需:52小时级别:10 | 在线时长:608小时 | 升级还需:52小时级别:10 | 在线时长:608小时 | 升级还需:52小时级别:10 | 在线时长:608小时 | 升级还需:52小时
注册日期: 2005-12
帖子: 609
致谢: 306
2010-02-17, 08:13:43 #78 | TOP
任何版本的 GDI++ 和 gdimm 都有这个问题。估计还是跟透明、DWM有关。
回复时引用此帖
2000320 帅哥
2000320 的头像
极客II
级别:12 | 在线时长:803小时 | 升级还需:107小时级别:12 | 在线时长:803小时 | 升级还需:107小时
注册日期: 2006-05
帖子: 132
致谢: 23
2010-02-17, 21:33:25 #79 | TOP
我在我的R2上怎么就没效果呢
回复时引用此帖
dipplum 帅哥
极客II
级别:3 | 在线时长:99小时 | 升级还需:1小时级别:3 | 在线时长:99小时 | 升级还需:1小时级别:3 | 在线时长:99小时 | 升级还需:1小时
注册日期: 2008-09
帖子: 72
致谢: 17
2010-02-18, 01:05:00 #80 | TOP
什么R2?Server 2008 R2,还是2003 R2?
回复时引用此帖
关闭主题 « 上一主题 - 字体渲染 - 下一主题 »
第4页,共7页:  1  2  3  4  5  6  7  
过期主题 该主题因在两个月内没有任何回复而自动关闭。
如果您还对该主题感兴趣或者想参与对此主题的讨论,请您重新发表一篇相关的新主题。
主题工具
发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码

论坛跳转:
Copyright ©2003-2014, THEMEX.NET [湘ICP备14009485号]
Powered by vBulletin® v3.8.3 ©Jelsoft Enterprises Ltd.
所有时间均为北京时间。现在的时间是 07:04:15