windows - How can I work out what events are being waited for with WinDBG in a kernel debug session -


I am a full WinDbg novice and I have a Windows XP problem trying to debug that a customer has me Where our software and certain third party software logging stop windows from being closed. I have reproduced this problem and have verified that when both of our software and client software are installed (although not required to log on to the logoff), logoff problem occurs. I have seen that WM_ENDSESSION messages are not reaching windows When the user tries to log off and I know that third party software uses a kernel driver.

I have been looking at the processes in WinDbg and I'll send you that csrss.exe usually a WM_ENDSESSION message to all windows when I ran:

The process 82356020 6

I can look at the piles of csrss.exe to see:

  WARNING: The following frames may be incorrect in any known module in the frame not IP. 00000000 00000000 00000000 00000000 00000000 0x7c90e514 THREAD 8246d 998 Cid 0248.02a0 Teb: 7ffd7000 Win32Thread: e1627008 Wait: (WrUserRequest) UserMode Non-Alert 8243d9f0 Synchronization Event 81fe0390 Synchronization Event No Impersonation DeviceMap e1004450 Owner Process 82356020 Image: csrss.exe Attached Process N / A Image: N / A forward start TickCount 1813 Ticks: 20748 (0: 00: 05: 24.187) context switches Count 3 LargeStack UserTime 00: 00: 00.000 KernelTime 00: 00: 00.000 start address stack Init 0x75b67cdf to f80bd000 current limiting f80bc9c8 base f80bd000 f80ba000 Call 0 priority 14 base primary Received 13 priority subtraction 0 component numbers 0 kernel stack is not resident child EBP Retadar Aarjes to Child F 80 BC 9 80 80 CCE 00000000 8246 D 998 804 F 9 AF 2 NT! Kespepantenkt + 0 x 2 A (FPO: [uses EBP] [0, 0, 4]) F 80 Bisielisi 804 F 9 AF 2 804 F 9 86 A E 6262008 00000000 NT! Keshopatred + 0x46 (FPO: [0,0,0]) f80bca24 bf80a4a3 00000002 82,475,218 00000001 NT KeWaitForMultipleObjects + 0x284 (FPO: [non-FPO]) f80bca5c bf88c0a6 00000001 82,475,218 00000000 win32k xxxMsgWaitForMultipleObjects + 0xb0 (FPO: [non-FPO]) f80bcd30 bf87507d bf9ac0a0 00000001 f80bcd54 win32k xxxDesktopThread + 0x339 (! FPO: [non-FPO]) f80bcd40 bf8010fd bf9ac0a0 f80bcd64 00bcfff4 win32k xxxCreateSystemThreads + 0x6a (FPO: [non-FPO]) f80bcd54 8053d648 00000000 00,000,022 00000000 win32k NtUserCallOneParam + 0x23 (FPO: [ Non-FPO]) f80bcd54 7c90e514 00000000 00,000,022 00000000 NT KiFastCallEntry + 0xf8! (FPO: [0,0] TrapFrame @ f80bcd64)  

I'm thinking I've been waiting on that if csrss.exe is a phenomenon because it looks interesting waitForMultipleObjects allow logoff Can not someone tell me how can I know how it is waiting for something else and what can I do to check the problem?

Objects are right in production, waiting to be done:

< Pre> thread 8246d998 Cid 0248.02a0 Teb: 7ffd7000 Win32Thread: e1627008 Wait: (WrUserRequest) usermode Non Alertable 8243d9f0 SynchronizationEvent 81fe0390 SynchronizationEvent

I think the thread you are looking at It is a common thread, just about every system you see (it will not be sure what thread is actually, but I recognize the stack ... Mr. but I think I've been doing this too long!).

I will also note that you can not trust the parameters on the heap of all time. See some details here:

- Scott


Comments

Popular posts from this blog

windows - Heroku throws SQLITE3 Read only exception -

lex - Building a lexical Analyzer in Java -

python - rename keys in a dictionary -