<?xml version="1.0" encoding="utf-8"?>
<!-- generator="Joomla! 1.5 - Open Source Content Management" -->
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>WinDbg.info - Forum</title>
        <description>Thinking debugging? Think www.windbg.info.</description>
        <link>http://www.windbg.info/</link>
        <lastBuildDate>Sun, 05 Feb 2012 14:39:06 +0100</lastBuildDate>
        <generator>Joomla! 1.5 - Open Source Content Management</generator>
        <language>en-gb</language>
        <item>
            <title>Thread: Random Thread getting stuck</title>
            <link>http://www.windbg.info/forum/15-cat-user-mode-debugging/145-random-thread-getting-stuck.html</link>
            <author>Ben</author>
            <description>I&amp;#039;ve spent the last couple of weeks investigating a very very difficult bug.&lt;br /&gt;
&lt;br /&gt;
Firstly some background... our application prcoesses 600-1000 pairs of audio streams from the network in realtime and uses one thread per pair of audio streams (2 streams because its stereo). This means our app can use upto about 1006 threads (There are a few threads in additon to the audio receiving threads).&lt;br /&gt;
&lt;br /&gt;
Each Audio thread is temporary and may only last a couple of minutes, so threads are being created and exited frequently.&lt;br /&gt;
&lt;br /&gt;
The problem is that after a couple of hours, one of main threads (Not one of the 1000 or so Audio Receiving threads) just stops. It doesn&amp;#039;t exit but its not running either!&lt;br /&gt;
&lt;br /&gt;
Using WinDbg I can see the following call stack for the stuck thread:&lt;br /&gt;
&lt;br /&gt;
ntdll!NtWaitForMultipleObjects+0x15 (FPO: [5,0,0])&lt;br /&gt;
KERNELBASE!WaitForMultipleObjectsEx+0x100 (FPO: [SEH])&lt;br /&gt;
kernel32!WaitForMultipleObjectsExImplementation+0xe0 (FPO: [5,8,4])&lt;br /&gt;
kernel32!WaitForMultipleObjects+0x18 (FPO: [4,0,0])&lt;br /&gt;
WARNING: Stack unwind information not available. Following frames may be wrong.&lt;br /&gt;
boost_thread_vc90_mt_1_47!boost::this_thread::interruptible_wait+0x199&lt;br /&gt;
boost_thread_vc90_mt_1_47!boost::thread::get_thread_info+0x144&lt;br /&gt;
boost_thread_vc90_mt_1_47!boost::thread::join+0x6c&lt;br /&gt;
&lt;br /&gt;
Firstly, why is some of the stack unwind info unavailable? If I break the process before the problem occurs then the threads call stack looks perfectly normal and shows all my apps methods as you would expect. Could the stack have become corrupt?&lt;br /&gt;
&lt;br /&gt;
Secondly, why doesn&amp;#039;t the WaitForMultipleObjects ever return? One of the objects I&amp;#039;m waiting on is a WaitableTimer that fires every 10 seconds, so at the very least I should be seeing that (But I&amp;#039;m not).&lt;br /&gt;
&lt;br /&gt;
I beieve that if one of my wait objects is invalid then WaitForMultipleObjects should return WAIT_FAIL, and not just hang. Plus I&amp;#039;m confident that none of the objects are invalid as I have been successfully calling WaitForMultipleObjects using these objects for well over an hour before the problem occurs, and no other threads close the handles that I&amp;#039;m waiting on.&lt;br /&gt;
&lt;br /&gt;
Anyway, here&amp;#039;s the weirdest bit...&lt;br /&gt;
&lt;br /&gt;
If I add any diagnostics to this thread to try and see what&amp;#039;s going on then the next time I run the code it may be another thread that freezes, not this one! Basically changing the code changes which thread freezes!&lt;br /&gt;
&lt;br /&gt;
Does this just look like a stack corruption problem (If so then is there any way to get WinDbg to detect what is corrupting the stack?).&lt;br /&gt;
&lt;br /&gt;
Thanks&lt;br /&gt;
Ben</description>
            <pubDate>Wed, 28 Dec 2011 10:59:00 +0100</pubDate>
        </item>
        <item>
            <title>Thread: WinDbg showing Wrong Info</title>
            <link>http://www.windbg.info/forum/15-cat-user-mode-debugging/144-windbg-showing-wrong-info.html</link>
            <author>Ben</author>
            <description>I&amp;#039;ve got a program that I&amp;#039;m trying to debug but when I attach WinDbg to the process and look at the call stack for the thread that I&amp;#039;m interested in I sometimes see that the &amp;#039;this&amp;#039; pointer is NULL, or that some of the member data in my class is NULL... after a lot of investigation I concoluded that this cannot be possible, so I got my code to print out the value of the &amp;#039;this&amp;#039; pointer once a second. Sure enough the printed &amp;#039;this&amp;#039; pointer is perfectly valid yet WinDbg still says its NULL.&lt;br /&gt;
&lt;br /&gt;
Any idea why WinDbg could be getting it wrong?&lt;br /&gt;
&lt;br /&gt;
The PDB file definitely matches the EXE (i.e. I don&amp;#039;t have an old PDB against a nwer version of the EXE).&lt;br /&gt;
&lt;br /&gt;
Also, I&amp;#039;m using the old RaiseException trick to name my threads in the debugger, yet sometimes I only see some of my threads with names in WinDbg even though I know I named them all. Sometimes none of them have names. Could this be because I&amp;#039;m naming my threads before attaching WinDbg to the process? i.e. does the debugger have to be running at the time I call RaiseException?&lt;br /&gt;
&lt;br /&gt;
Thanks for your help&lt;br /&gt;
Ben</description>
            <pubDate>Wed, 28 Dec 2011 10:10:31 +0100</pubDate>
        </item>
        <item>
            <title>Thread: StackOverFlowException in .Net</title>
            <link>http://www.windbg.info/forum/13-cat-crash-dump-analysis-/142-stackoverflowexception-in-net.html</link>
            <author>Daniele Foschi</author>
            <description>Hi,&lt;br /&gt;
I&amp;#039;ve a question about finding StackOverFlowException in .net programs.&lt;br /&gt;
I have a simple program test that generates a StackOverFlowException when I click a button:&lt;br /&gt;
&lt;br /&gt;
private void button1_Click(object sender, EventArgs e)&lt;br /&gt;
{&lt;br /&gt;
    MyMethod();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
private void MyMethod()&lt;br /&gt;
{&lt;br /&gt;
    MyMethod();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Windbg+sos loads symbols correctly, but with analyze command I&amp;#039;ve not find references to MyMethod that caused StackOverflow; instead if I build in debug mode I can see full stack with recursive call of MyMethod.&lt;br /&gt;
What can I do to see full stack in release mode?&lt;br /&gt;
Can anyone help me?&lt;br /&gt;
Thanks!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below WinDBG output in release and debug mode (extract from !analyze -v command)&lt;br /&gt;
&lt;br /&gt;
*** WinDBG RELEASE MODE: ***&lt;br /&gt;
&lt;br /&gt;
[...]&lt;br /&gt;
MANAGED_STACK: &lt;br /&gt;
(TransitionMU)&lt;br /&gt;
0019F158 664D8CEE System_Windows_Forms_ni!System.Windows.Forms.Application+ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32, Int32, Int32)+0x24e&lt;br /&gt;
0019F1F4 664D8957 System_Windows_Forms_ni!System.Windows.Forms.Application+ThreadContext.RunMessageLoopInner(Int32, System.Windows.Forms.ApplicationContext)+0x177&lt;br /&gt;
0019F248 664D87A1 System_Windows_Forms_ni!System.Windows.Forms.Application+ThreadContext.RunMessageLoop(Int32, System.Windows.Forms.ApplicationContext)+0x61&lt;br /&gt;
0019F278 66495911 System_Windows_Forms_ni!System.Windows.Forms.Application.Run(System.Windows.Forms.Form)+0x31&lt;br /&gt;
0019F28C 0061009A ProvaCrash!ProvaCrash.Program.Main()+0x2a&lt;br /&gt;
(TransitionUM)&lt;br /&gt;
&lt;br /&gt;
[...]&lt;br /&gt;
MANAGED_OBJECT_NAME:  System.StackOverflowException&lt;br /&gt;
[...]&lt;br /&gt;
&lt;br /&gt;
STACK_TEXT:  &lt;br /&gt;
WARNING: Frame IP not in any known module. Following frames may be wrong.&lt;br /&gt;
0019ee20 6648f55a 018ed980 019036dc 0019ee4c 0x40c0a2&lt;br /&gt;
0019ee30 66a26f64 00000619 000000e4 00100000 System_Windows_Forms_ni+0x1bf55a&lt;br /&gt;
0019ee4c 669f7773 018ed980 00000005 00050033 System_Windows_Forms_ni+0x756f64&lt;br /&gt;
0019eed0 66d2a202 00000001 00100000 e9f17a94 System_Windows_Forms_ni+0x727773&lt;br /&gt;
0019ef30 66d289d1 018ed980 00000000 00000000 System_Windows_Forms_ni+0xa5a202&lt;br /&gt;
0019ef74 664c25b0 0019efa8 0019ef88 664c86a0 System_Windows_Forms_ni+0xa589d1&lt;br /&gt;
0019ef80 664c86a0 0019ef9c 664c8621 00000000 System_Windows_Forms_ni+0x1f25b0&lt;br /&gt;
0019ef88 664c8621 00000000 018eda50 0019efcc System_Windows_Forms_ni+0x1f86a0&lt;br /&gt;
0019ef9c 664c84fa 018eda50 00081054 00000202 System_Windows_Forms_ni+0x1f8621&lt;br /&gt;
0019f000 76b1c4e7 00081054 00000202 00000000 System_Windows_Forms_ni+0x1f84fa&lt;br /&gt;
0019f02c 76b1c5e7 005d0cb2 00081054 00000202 user32!InternalCallWinProc+0x23&lt;br /&gt;
0019f0a4 76b1cc19 00273244 005d0cb2 00081054 user32!UserCallWinProcCheckWow+0x14b&lt;br /&gt;
0019f104 76b1cc70 005d0cb2 00000000 0019f130 user32!DispatchMessageWorker+0x35e&lt;br /&gt;
0019f114 012b110e 0019f1a0 e9f17a94 00000000 user32!DispatchMessageW+0xf&lt;br /&gt;
0019f130 664d8cee 018f4dac 00000001 018ea380 0x12b110e&lt;br /&gt;
[.....]&lt;br /&gt;
0019fe34 76f337c8 6fd54ddb 7ffd5000 00000000 ntdll!__RtlUserThreadStart+0x70&lt;br /&gt;
0019fe4c 00000000 6fd54ddb 7ffd5000 00000000 ntdll!_RtlUserThreadStart+0x1b&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*** WinDBG DEBUG MODE: ***&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[...a lot of rows of MyMethod...]&lt;br /&gt;
0030ef70 001f0506 ProvaCrash.Form1.MyMethod()&lt;br /&gt;
0030ef7c 001f04cb ProvaCrash.Form1.button1_Click(System.Object, System.EventArgs)&lt;br /&gt;
0030ef90 66494170 System.Windows.Forms.Control.OnClick(System.EventArgs)&lt;br /&gt;
0030efa8 6648f55a System.Windows.Forms.Button.OnClick(System.EventArgs)&lt;br /&gt;
0030efb8 66a26f64 System.Windows.Forms.Button.OnMouseUp(System.Windows.Forms.MouseEventArgs)&lt;br /&gt;
0030efd4 669f7773 System.Windows.Forms.Control.WmMouseUp(System.Windows.Forms.Message ByRef, System.Windows.Forms.MouseButtons, Int32)&lt;br /&gt;
0030f060 66d2a202 System.Windows.Forms.Control.WndProc(System.Windows.Forms.Message ByRef)&lt;br /&gt;
0030f064 66d289d1 [InlinedCallFrame: 0030f064] &lt;br /&gt;
0030f0fc 664c25b0 System.Windows.Forms.Button.WndProc(System.Windows.Forms.Message ByRef)&lt;br /&gt;
0030f108 664c86a0 System.Windows.Forms.Control+ControlNativeWindow.OnMessage(System.Windows.Forms.Message ByRef)&lt;br /&gt;
0030f110 664c8621 System.Windows.Forms.Control+ControlNativeWindow.WndProc(System.Windows.Forms.Message ByRef)&lt;br /&gt;
0030f124 664c84fa System.Windows.Forms.NativeWindow.Callback(IntPtr, Int32, IntPtr, IntPtr)&lt;br /&gt;
0030f2c8 008709e4 [NDirectMethodFrameStandalone: 0030f2c8] System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG ByRef)&lt;br /&gt;
0030f2d8 664d8cee System.Windows.Forms.Application+ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32, Int32, Int32)&lt;br /&gt;
0030f374 664d8957 System.Windows.Forms.Application+ThreadContext.RunMessageLoopInner(Int32, System.Windows.Forms.ApplicationContext)&lt;br /&gt;
0030f3c8 664d87a1 System.Windows.Forms.Application+ThreadContext.RunMessageLoop(Int32, System.Windows.Forms.ApplicationContext)&lt;br /&gt;
0030f3f8 66495911 System.Windows.Forms.Application.Run(System.Windows.Forms.Form)&lt;br /&gt;
0030f40c 001f00ae ProvaCrash.Program.Main()&lt;br /&gt;
0030f638 69d51b4c [GCFrame: 0030f638]</description>
            <pubDate>Wed, 07 Dec 2011 14:57:35 +0100</pubDate>
        </item>
        <item>
            <title>Thread: ntdll.dll symbols are missing? - reply by: noname</title>
            <link>http://www.windbg.info/forum/12-cat-symbol-and-source-files-/140-re-ntdlldll-symbols-are-missing.html</link>
            <author>noname</author>
            <description>Oh... I&amp;#039;ve already solved the problem with windbg - I just downloaded local symbols and then gave them to symstore. It&amp;#039;s okay now, but !peb doesn&amp;#039;t work, neither dt _PEB or dt nt!_PEB, however lml shows that ntdll.pdb has been loaded. I debug XP SP3 so the symbols do fit the system.&lt;br /&gt;
&lt;br /&gt;
kd&amp;gt; !peb 7ffdb000&lt;br /&gt;
PEB at 7ffdb000&lt;br /&gt;
error 1 InitTypeRead( nt!_PEB at 7ffdb000)...&lt;br /&gt;
&lt;br /&gt;
However this value is the right one - I&amp;#039;ve taken it from Peb field of !process 0 0 output.&lt;br /&gt;
&lt;br /&gt;
kd&amp;gt; dt _PEB 7ffdb000&lt;br /&gt;
ntdll!_PEB&lt;br /&gt;
   +0x000 InheritedAddressSpace : ??&lt;br /&gt;
   +0x001 ReadImageFileExecOptions : ??&lt;br /&gt;
   +0x002 BeingDebugged    : ??&lt;br /&gt;
   +0x003 SpareBool        : ??&lt;br /&gt;
   +0x004 Mutant           : ???? &lt;br /&gt;
   +0x008 ImageBaseAddress : ???? &lt;br /&gt;
   +0x00c Ldr              : ???? &lt;br /&gt;
   +0x010 ProcessParameters : ???? &lt;br /&gt;
   +0x014 SubSystemData    : ???? &lt;br /&gt;
   +0x018 ProcessHeap      : ???? &lt;br /&gt;
//and so on&lt;br /&gt;
&lt;br /&gt;
I&amp;#039;m really at a loss;</description>
            <pubDate>Wed, 23 Nov 2011 10:25:27 +0100</pubDate>
        </item>
        <item>
            <title>Thread: Video or Sound from 'A to Z' presentation? - reply by: Robert Kuster</title>
            <link>http://www.windbg.info/forum/3-cat-suggestion-box/128-re-video-or-sound-from-a-to-z-presentation.html</link>
            <author>Robert Kuster</author>
            <description>Austin, welcome.&lt;br /&gt;
&lt;br /&gt;
Hm, that&amp;#039;s an interesting suggestion indeed. I&amp;#039;ll definitely think about it, though I first plan to add more written content to the site. Among others a step-by-step tutorial for the first steps with WinDbg that you will probably also find interesting and useful. But as said your idea is really interesting ...so let&amp;#039;s see.&lt;br /&gt;
&lt;br /&gt;
Stay tuned,&lt;br /&gt;
Robert</description>
            <pubDate>Thu, 03 Nov 2011 11:57:22 +0100</pubDate>
        </item>
        <item>
            <title>Thread: drwtsn32 - reply by: Robert Kuster</title>
            <link>http://www.windbg.info/forum/11-cat-general-questions/126-re-drwtsn32.html</link>
            <author>Robert Kuster</author>
            <description>Welcome Sybaris.&lt;br /&gt;
&lt;br /&gt;
The official &lt;a href='http://msdn.microsoft.com/en-us/library/ff550982%28VS.85%29.aspx' rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Dr. Watson&lt;/a&gt; documentation states that:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;If Dr. Watson is activated on Windows XP or later, a message box will appear. This message box gives you the option of sending an error report to Microsoft. If you choose Don&amp;#039;t Send, a dump file will be created and stored on your hard disk. If you choose Send Error Report, a dump file will be created and stored on your hard disk, and will also be transmitted to Microsoft over the Internet.&lt;br /&gt;
&lt;br /&gt;
However, if you have manually set the \\HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug\Auto value to zero, the Don&amp;#039;t Send button will simply terminate the application. The Send Error Report button will create a dump file and send it to Microsoft but will not store it on your hard disk. A third button, Debug, will create a dump file and store it on your hard disk.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Thus, in theory the generated dump should be preserved except if you change the AeDebug\Auto registry value to 0. For one reason or another this never worked on my XP machines. My suggestion is that you simply use ntsd.exe or WinDbg.exe in order to generate the crash dumps - if it is your own application and test environment, it doesn&amp;#039;t make sense to send the crashes over to MS just to retrieve them later anyway. To achieve this add the following string value for &lt;b&gt;AeDebug\Debugger&lt;/b&gt; in the registry: &lt;br /&gt;
&lt;br /&gt;
  &amp;quot;C:\WINDOWS\system32\ntsd.exe&amp;quot; -p %ld -e %ld -g -c &amp;quot;.dump /u d:\mydumps\crash.dmp; q&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Now ntsd is launched as the default postmortem debugger. It creates a crash dump with a unique name (/u) and exits right thereafter.&lt;br /&gt;
&lt;br /&gt;
I hope this helps,&lt;br /&gt;
Robert</description>
            <pubDate>Sun, 09 Oct 2011 23:37:58 +0200</pubDate>
        </item>
        <item>
            <title>Thread: Crashdump bitness - reply by: Robert Kuster</title>
            <link>http://www.windbg.info/forum/11-cat-general-questions/125-re-crashdump-bitness.html</link>
            <author>Robert Kuster</author>
            <description>Welcome Nachiket.&lt;br /&gt;
&lt;br /&gt;
You can actually open a 32-bit dump with both a 32- or 64-bit WinDbg. At the same time you can open a 64-bit dump with both variants of WinDbg too. So, how to find out the bitness of a dump in question? When I open a dump on my machine, I get a text that look like this:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;32-bit dump&lt;/b&gt;; 32- or 64-bit WinDbg:  Windows 7 Version 7601 (Service Pack 1) MP (8 procs) Free &lt;b&gt;x64&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;64-bit dump&lt;/b&gt;; 32- or 64-bit WinDbg:  Windows 7 Version 7601 (Service Pack 1) MP (8 procs) Free &lt;b&gt;x86 &lt;/b&gt;compatible&lt;br /&gt;
&lt;br /&gt;
Alternatively you can use another handy trick: &lt;b&gt;Check out what kind of registers were stored in the dump&lt;/b&gt;. For example, RAX will exist only in 64-bit dumps.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;32-bit dump&lt;/b&gt;; 32- or 64-bit WinDbg: &lt;b&gt;r rax&lt;/b&gt; -&amp;gt; Bad register error in &amp;#039;r rax&amp;#039;&lt;br /&gt;
&lt;b&gt;64-bit dump&lt;/b&gt;; 32- or 64-bit WinDbg: &lt;b&gt;r rax&lt;/b&gt; -&amp;gt; returns the register value&lt;br /&gt;
&lt;br /&gt;
I hope this helps,&lt;br /&gt;
Robert</description>
            <pubDate>Sun, 09 Oct 2011 15:26:17 +0200</pubDate>
        </item>
        <item>
            <title>Thread: kernel32 symbol in live kernel debug - reply by: Robert Kuster</title>
            <link>http://www.windbg.info/forum/12-cat-symbol-and-source-files-/124-re-kernel32-symbol-in-live-kernel-debug.html</link>
            <author>Robert Kuster</author>
            <description>Welcome Thongchai.&lt;br /&gt;
&lt;br /&gt;
The kernel on 2000, XP, Vista, or Windows 7 never loads user32.dll or kernel32.dll. Both are user mode DLLs and thus get loaded by user-mode applications (generally speaking any Win32 process should load kernel32.dll; applications that have a GUI also load user32.dll). &lt;br /&gt;
&lt;br /&gt;
Symbols are loaded into a debugger mainly for two purposes:&lt;ul&gt;&lt;li&gt;to map raw addresses in the executable to source-code lines&lt;/li&gt;&lt;li&gt;to analyze internal layout and data of applications&lt;/li&gt;&lt;/ul&gt; What you are asking about somehow violates this basic principle and is simply not needed to debug an application or the kernel. You can still check out the &lt;a href='http://msdn.microsoft.com/en-us/library/ff558827%28VS.85%29.aspx' rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Symbol Options&lt;/a&gt; for WinDbg or start your investigation by examining the &lt;b&gt;ld&lt;/b&gt; or &lt;b&gt;!lmi&lt;/b&gt; commands.&lt;br /&gt;
&lt;br /&gt;
I hope this helps,&lt;br /&gt;
Robert</description>
            <pubDate>Sun, 09 Oct 2011 14:47:32 +0200</pubDate>
        </item>
        <item>
            <title>Thread: Creating a process server</title>
            <link>http://www.windbg.info/forum/17-cat-writting-extensions/123-creating-a-process-server.html</link>
            <author>Pankaj</author>
            <description>Hi,&lt;br /&gt;
&lt;br /&gt;
I&amp;#039;m trying to create a process server.&lt;br /&gt;
To do this I create a client object and call the StartProcessServer() function.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;fbcode&quot; style=&quot;width:650px;&quot;&gt;&lt;table cellspacing=&quot;1&quot; cellpadding=&quot;3&quot; border=&quot;0&quot;&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Code:&amp;#32;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;hr /&gt;&lt;code class=&quot;php&quot;&gt;&lt;br /&gt;
if&amp;nbsp;(&amp;nbsp;(status&amp;nbsp;=&amp;nbsp;DebugCreate(__uuidof(IDebugClient),&amp;nbsp;(void**)&amp;amp;client))&amp;nbsp;!=&amp;nbsp;S_OK&amp;nbsp;)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fprintf(stderr,&amp;nbsp;&amp;quot;DebugCreate()&amp;nbsp;failed,&amp;nbsp;0x%X\n&amp;quot;,&amp;nbsp;status);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if&amp;nbsp;(&amp;nbsp;(hr&amp;nbsp;=&amp;nbsp;client-&amp;gt;StartProcessServer(DEBUG_CLASS_USER_WINDOWS,&amp;nbsp;opt,&amp;nbsp;NULL))&amp;nbsp;!=&amp;nbsp;S_OK&amp;nbsp;)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fprintf(stderr,&amp;nbsp;&amp;quot;Error:&amp;nbsp;StartProcessServer()&amp;nbsp;failed:&amp;nbsp;%X\n&amp;quot;,&amp;nbsp;hr);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return;&lt;br /&gt;
}&lt;br /&gt;
&lt;/code&gt;&lt;hr /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
But the StartProcessServer() always fails with return value 0x8007053D. :( &lt;br /&gt;
Why does it fail? Is there anything I missed? &lt;br /&gt;
&lt;br /&gt;
Thanks,&lt;br /&gt;
Pankaj</description>
            <pubDate>Fri, 23 Sep 2011 04:45:34 +0200</pubDate>
        </item>
        <item>
            <title>Thread: Finding undocumented swtiches - reply by: Will Steele</title>
            <link>http://www.windbg.info/forum/11-cat-general-questions/122-re-finding-undocumented-swtiches.html</link>
            <author>Will Steele</author>
            <description>Thanks for that tip.  I am looking more for what switches are embedded with the image itself.  It seems that in C/C++ the command line switches correspond to switch statements within the code.  I just have found found what code section I need to check out in the PE or in something like Windbg or Ollydbg to see the switches used to compare against when arguments are passed to the .exe.</description>
            <pubDate>Mon, 12 Sep 2011 00:44:58 +0200</pubDate>
        </item>
        <item>
            <title>Thread: sort lm n t by date/time - reply by: karl</title>
            <link>http://www.windbg.info/forum/13-cat-crash-dump-analysis-/121-re-sort-lm-n-t-by-datetime.html</link>
            <author>karl</author>
            <description>Robert,&lt;br /&gt;
I apologize for not getting back.  I did some reading and wrote a PowerShell script to sort the list and perform a couple of other clean up operations.&lt;br /&gt;
&lt;br /&gt;
Thanks,&lt;br /&gt;
  karl</description>
            <pubDate>Sun, 11 Sep 2011 16:15:19 +0200</pubDate>
        </item>
        <item>
            <title>Thread: How to find parameter values to a method?</title>
            <link>http://www.windbg.info/forum/14-cat-debugging-of-managed-code-/118-how-to-find-parameter-values-to-a-method.html</link>
            <author>ponsakthi</author>
            <description>Hi all,&lt;br /&gt;
&lt;br /&gt;
I faced an .net exception in my application in the customer machine.&lt;br /&gt;
Without closing the exception I attached Windbg and I saw the clrstack.&lt;br /&gt;
&lt;br /&gt;
The method in which exception has occurred accepts a string as an parameter.&lt;br /&gt;
&lt;br /&gt;
But I am not able to identify the value of paramater in !clrstack -p as well.It shows as no data.&lt;br /&gt;
&lt;br /&gt;
Please help me out.</description>
            <pubDate>Thu, 01 Sep 2011 20:53:31 +0200</pubDate>
        </item>
        <item>
            <title>Thread: Parsing SYSTEM_PROCESS_INFORMATION!</title>
            <link>http://www.windbg.info/forum/16-cat-kernel-mode-debugging/115-parsing-systemprocessinformation.html</link>
            <author>Cirta</author>
            <description>Hi guys!&lt;br /&gt;
&lt;br /&gt;
I&amp;#039;am trying to print processes list usig the SYSTEM_PROCESS_INFORMATION structures contained in SYSTEM_INFORMATION_CLASS (this list is used by task manager to get processe list) just by using Windbg!&lt;br /&gt;
&lt;br /&gt;
Any idea how to do that? Is it possible ?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thanks !!</description>
            <pubDate>Thu, 25 Aug 2011 13:03:45 +0200</pubDate>
        </item>
        <item>
            <title>Thread: Dll export table - Exported functions list and @</title>
            <link>http://www.windbg.info/forum/16-cat-kernel-mode-debugging/114-dll-export-table-exported-functions-list-and-.html</link>
            <author>Blade0x1</author>
            <description>Hello&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Can we extract exported functions list from a dll and their asociated addresses using windbg?&lt;br /&gt;
&lt;br /&gt;
Can we determine what dlls&amp;#039;s functions are used by an application? for exemple:    myapp.exe is just calling MessageBoxA from user32 dll.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Merci !</description>
            <pubDate>Thu, 25 Aug 2011 13:00:45 +0200</pubDate>
        </item>
        <item>
            <title>Thread: CrashMe Application - reply by: Kim Leeper</title>
            <link>http://www.windbg.info/forum/8-cat-article-discussions/113-re-crashme-application.html</link>
            <author>Kim Leeper</author>
            <description>My development machine is Win2000sp4.  My development environment is VC6sp6.  Does anyone have a version of CrashMe for VC6?&lt;br /&gt;
&lt;br /&gt;
Your article &amp;quot;WinDbg From A to Z&amp;quot; is very inspiring!</description>
            <pubDate>Thu, 18 Aug 2011 12:28:41 +0200</pubDate>
        </item>
        <item>
            <title>Thread: Symbol not found - reply by: Robert Kuster</title>
            <link>http://www.windbg.info/forum/12-cat-symbol-and-source-files-/105-re-symbol-not-found.html</link>
            <author>Robert Kuster</author>
            <description>Mmostafaxx, &lt;br /&gt;
&lt;br /&gt;
sooorry for the late reply. If it is not completely to late: Check out slides 14 and 24 at &lt;a href='http://windbg.info/download/doc/pdf/WinDbg_A_to_Z_bw2.pdf' rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;WinDbg. From A to Z!&lt;/a&gt; and try to set up _NT_SYMBOL_PATH so that it really points to the correct folder. Alternatively you could try to debug our CrashMe application first - the symbols there should be loaded just fine. Then you can move back to your application and pinpoint the problem there.&lt;br /&gt;
&lt;br /&gt;
Also check:&lt;br /&gt;
 - that there is indeed a PDB file that is generated alongside your exe (both should have same timestamps)&lt;br /&gt;
 - your compiler settings - debug information: /Zi (Program Database) should be set, not /ZI (Program Database for Edit &amp;amp; Continue)&lt;br /&gt;
 - use the &lt;b&gt;!sym noisy&lt;/b&gt; WinDbg command (debugger displays info about its search for symbols), followed by &lt;b&gt;ld *&lt;/b&gt; &lt;br /&gt;
 - check out other symbol-related commands at &lt;a href='http://windbg.info/doc/1-common-cmds.html#7_symbols' rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Common WinDbg Commands (Thematically Grouped)&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
I hope this helps,&lt;br /&gt;
Robert</description>
            <pubDate>Tue, 19 Jul 2011 23:35:23 +0200</pubDate>
        </item>
        <item>
            <title>Thread: Remote debugging of CrashMe with ntsd -d - reply by: Robert Kuster</title>
            <link>http://www.windbg.info/forum/8-cat-article-discussions/103-re-remote-debugging-of-crashme-with-ntsd-d.html</link>
            <author>Robert Kuster</author>
            <description>Guillaume, welcome.&lt;br /&gt;
&lt;br /&gt;
My experience is that it is often not worth to debug user mode applications from a kernel mode debugger. True, the official &lt;a href='http://msdn.microsoft.com/en-us/library/ff541428%28VS.85%29.aspx' rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;docus&lt;/a&gt; propose to debug Winlogon just as you did. But hey, Winlogon is almost an ordinary user mode application and with a few simple tricks a user mode debugger will do it just fine. &lt;br /&gt;
&lt;br /&gt;
First note that it is wise to debug Winlogon on a remote machine, because it is considered to be part of the OS. If Winlogon crashes or the debugger screws it up the whole system is taken down. Remote debugging is shortly described in &lt;a href='http://windbg.info/download/doc/pdf/WinDbg_A_to_Z_bw2.pdf' rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;WinDbg. From A to Z!&lt;/a&gt; - &amp;quot;Remote Debugging with WinDbg&amp;quot; at slide 87. Basically you have to copy &lt;b&gt;dbgsrv.exe&lt;/b&gt;, dbgeng.dll and dbghelp.dll to the remote machine, run dbgsrv.exe on a given port, and connect to that port with WinDbg. The additional trick here is that &lt;b&gt;dbgsrv.exe should run as a service&lt;/b&gt; so one can connect to it even before any user logs on. There are two wonderful applications, namely &lt;b&gt;Srvany.exe&lt;/b&gt; and &lt;b&gt;Instrsrv.exe&lt;/b&gt;, that help you to achieve just that. Just follow the steps described here: &lt;a href='http://support.microsoft.com/kb/137890' rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;How To Create a User-Defined Service&lt;/a&gt;. Once you set everything up you should see something like this in the registry of your target machine:&lt;br /&gt;
&lt;br /&gt;
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DbgService]..&lt;br /&gt;
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DbgService\Parameters]&lt;br /&gt;
&amp;quot;Application&amp;quot;=&amp;quot;C:\\dbgsrv\\dbgsrv.exe -t tcp:port=1222&amp;quot;&lt;br /&gt;
&lt;br /&gt;
When you restart that machine dbgsrv.exe will be up and running waiting for WinDbg connections. Then attaching to Winlogon will be just one more click away..&lt;br /&gt;
Bottom line: I would only use the officially proposed solution with a kernel debugger if debugging a user mode application early in the boot process. In all other scenarios the above solution should yield more satisfactory results.&lt;br /&gt;
&lt;br /&gt;
I hope this helps,&lt;br /&gt;
Robert</description>
            <pubDate>Tue, 19 Jul 2011 22:26:23 +0200</pubDate>
        </item>
        <item>
            <title>Thread: Brand New to Windbg - Need some basic answers</title>
            <link>http://www.windbg.info/forum/16-cat-kernel-mode-debugging/100-brand-new-to-windbg-need-some-basic-answers.html</link>
            <author>Jim Flanagan</author>
            <description>Hi.. Just joined and am very new to Windbg..&lt;br /&gt;
I have a simple need and that is to monitor the calls&lt;br /&gt;
made from NTapm.sys into my system bios.  I own&lt;br /&gt;
a logic analyzer that runs off of Windows 2000 and &lt;br /&gt;
was made back in &amp;#039;96 or so.  My system uses the old&lt;br /&gt;
APM instead of the ACPI method of power management.&lt;br /&gt;
One thing that doesn&amp;#039;t work correctly is automatic&lt;br /&gt;
shutdown of the analyzer hardware whent the &amp;#039;Shutdown&amp;#039;&lt;br /&gt;
command is issued in Win 2000.  This has bugged me for&lt;br /&gt;
some time.  I&amp;#039;m sure that my bios has some incompatibility&lt;br /&gt;
with the NTapm.sys/HAL.dll calls and want to see if I can&lt;br /&gt;
track it down.&lt;br /&gt;
&lt;br /&gt;
Is this doable by using the Windbg debugger?  I simply want to&lt;br /&gt;
set breakpoints at the calls into the bios to trace the&lt;br /&gt;
register settings, etc.  Any help that could be offered would&lt;br /&gt;
be appreciated.&lt;br /&gt;
thanks&lt;br /&gt;
Jim</description>
            <pubDate>Mon, 27 Jun 2011 15:57:33 +0200</pubDate>
        </item>
        <item>
            <title>Thread: Other forums - reply by: Tom Adams</title>
            <link>http://www.windbg.info/forum/11-cat-general-questions/99-reother-forums.html</link>
            <author>Tom Adams</author>
            <description>Awesome answer, very nice.&lt;br /&gt;
&lt;br /&gt;
americancritic</description>
            <pubDate>Sun, 26 Jun 2011 21:58:40 +0200</pubDate>
        </item>
        <item>
            <title>Thread: WinDbg. From A to Z! - reply by: Tom Adams</title>
            <link>http://www.windbg.info/forum/8-cat-article-discussions/98-re-windbg-from-a-to-z.html</link>
            <author>Tom Adams</author>
            <description>Windbg A-Z is amazing, I have never seen anything that can even come close to this. Thank You so very much.</description>
            <pubDate>Sun, 26 Jun 2011 06:10:54 +0200</pubDate>
        </item>
    </channel>
</rss>

