反复加载和卸载Deskband SDK示例时崩溃 [英] Deskband SDK Sample crashes when repeatedly loaded and unloaded

查看:86
本文介绍了反复加载和卸载Deskband SDK示例时崩溃的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

嗨!

在测试从Windows 7 SDK桌面示例中派生的桌面时,我遇到了一个问题,类似于http://social.msdn.microsoft.com/Forums/en-US/windowssdk/thread/3663de60-be1d- 4a90-aca6-1b88b7a0a41a.

While testing a deskband derived from the windows 7 sdk deskband sample, I came across an issue, similar to http://social.msdn.microsoft.com/Forums/en-US/windowssdk/thread/3663de60-be1d-4a90-aca6-1b88b7a0a41a.

当反复显示和隐藏桌面(无论是样品还是我自己的)时,资源管理器在第四次(至少对我而言)后挂起,几秒钟后坠入:

When repeatedly showing and hiding the deskband (the sample as well as my own) the explorer hangs after the fourth time (for me at least) and after a few seconds crashes into:

     88e850e8()  
    explorer.exe!BandSite_SaveView()  + 0x29字节
    CTray :: __ SaveTrayStuff()  + 0xdf字节
    CTray :: __ SaveTrayAndDesktop()  + 0xb字节
    CTray :: _ HandleTimer()  + 0x46203字节
    CTray :: v_WndProc()  + 0xcaa4字节
    CImpWndProc :: s_WndProc()  + 0x42字节
    user32.dll!_InternalCallWinProc@20()  + 0x23字节
    user32.dll!_UserCallWinProcCheckWow@32()  + 0xb3字节
    user32.dll!_DispatchMessageWorker@8()  + 0xe6字节
    user32.dll!_DispatchMessageW@4()  + 0xf字节
    CTray :: _ MessageLoop()  + 0x191字节
    CTray :: MainThreadProc()  + 0x57字节
    shlwapi.dll!WrapperThreadProc()  + 0xd3字节
    kernel32.dll!@ BaseThreadInitThunk @ 12()  + 0x12字节
    ntdll.dll!___ RtlUserThreadStart @ 8()  + 0x27字节
    ntdll.dll!__ RtlUserThreadStart @ 8()  + 0x1b字节

     88e850e8()   
     explorer.exe!BandSite_SaveView()  + 0x29 bytes   
     explorer.exe!CTray::_SaveTrayStuff()  + 0xdf bytes   
     explorer.exe!CTray::_SaveTrayAndDesktop()  + 0xb bytes   
     explorer.exe!CTray::_HandleTimer()  + 0x46203 bytes   
     explorer.exe!CTray::v_WndProc()  + 0xcaa4 bytes   
     explorer.exe!CImpWndProc::s_WndProc()  + 0x42 bytes   
     user32.dll!_InternalCallWinProc@20()  + 0x23 bytes   
     user32.dll!_UserCallWinProcCheckWow@32()  + 0xb3 bytes   
     user32.dll!_DispatchMessageWorker@8()  + 0xe6 bytes   
     user32.dll!_DispatchMessageW@4()  + 0xf bytes   
     explorer.exe!CTray::_MessageLoop()  + 0x191 bytes   
     explorer.exe!CTray::MainThreadProc()  + 0x57 bytes   
     shlwapi.dll!WrapperThreadProc()  + 0xd3 bytes   
     kernel32.dll!@BaseThreadInitThunk@12()  + 0x12 bytes   
     ntdll.dll!___RtlUserThreadStart@8()  + 0x27 bytes   
     ntdll.dll!__RtlUserThreadStart@8()  + 0x1b bytes   

发生访问冲突-从堆栈跟踪中猜测是由于某个函数试图定期保存托盘状态而无法执行的.

with an access violation -- which, guessing from the stack trace is due to a function that tries to save the tray status in an regular interval but cannot do so.

我已经编译了一个版本,其中http://social.msdn.microsoft.com/Forums/en-US/windowssdk/thread/3663de60-be1d-4a90-aca6-1b88b7a0a41a和DisableThreadLibraryCall中提到的更改已注释掉,因为它使用Visual与CRT静态链接 Studio 2010 SP1.台式带在Win 7 64位环境下进行了测试.

I've compiled a version with the changes mentioned in http://social.msdn.microsoft.com/Forums/en-US/windowssdk/thread/3663de60-be1d-4a90-aca6-1b88b7a0a41a and DisableThreadLibraryCall commented out, as it is statically linked against the CRT, using Visual Studio 2010 SP1. The deskband was tested under Win 7 64 Bit.

非常感谢任何帮助(首先是如何进一步调试它)!

Any help (in the first place on how to further debug this) would be very much appreciated!

谢谢.

ps:我已经(几乎)发布了与http://social.msdn.microsoft.com/Forums/en-US/windowssdk/thread/3663de60-be1d-4a90-aca6-1b88b7a0a41a答案相同的问题,但在此处重新发布以引起更多关注(我不知道是否有人重读了旧帖子...).

p.s.: I've posted (nearly) the same question as an answer to http://social.msdn.microsoft.com/Forums/en-US/windowssdk/thread/3663de60-be1d-4a90-aca6-1b88b7a0a41a, but reposted here to get a more attention (I don't know if anyone rereads the old posts ...).

 

推荐答案

我遇到了同样的崩溃,第4次卸载CRASH!
I came to the same crash, the 4th unload CRASH!


这篇关于反复加载和卸载Deskband SDK示例时崩溃的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆