How to Set WinDbg as a Default Windows Postmortem Debugger

Citrix states in their article: CTX107528

Document ID: CTX107528, Created on: Sep 6, 2005, Updated: May 31, 2006

Products: Citrix MetaFrame Presentation Server 3.0 for Microsoft Windows 2000, Citrix MetaFrame Presentation Server 3.0 for Microsoft Windows 2003, Citrix MetaFrame XP 1.0 for Microsoft Windows 2000, Citrix MetaFrame XP 1.0 for Microsoft Windows 2003, Citrix Presentation Server 4.0 for Microsoft Windows 2000, Citrix Presentation Server 4.0 for Microsoft Windows 2003

Symptoms

Sometimes it’s difficult to capture a user dump inside a terminal session because Dr. Watson doesn’t work as the default debugger.

Cause

This is probably caused by security permissions in Windows 2003.

Resolution

1. Install latest Debugging Tools for Windows:

http://www.microsoft.com/whdc/devtools/debugging/default.mspx

2. Set WinDbg as a default debugger by executing the following command:

WinDbg -I

Note that I must be capitalized.

3. Create a folder where the dump must be stored and give it full control permissions for users or remote desktop users.

For this example, c:\TEMP folder is used.

4. Inspect the following key:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug

For example, it has the following value:

"C:\Program Files\Debugging Tools for Windows\windbg.exe" -p %ld -e %ld -g

Take the current key value and append the following string:

-c '.dump /o /f c:\TEMP\new.dmp; q' -Q -QS -QY -QSY

The new key should have the following value:

"C:\Program Files\Debugging Tools for Windows\windbg.exe" -p %ld -e %ld -g -c '.dump /o /f c:\TEMP\new.dmp; q' -Q -QS -QY -QSY

5. Whenever there is an exception inside a session, a dump will be stored in the TEMP folder.

Note: The previously stored dump will be overwritten.

6. You can use this technique with other debuggers from the Debugging Tools suit. For their command line options, check the debugger.chm help file.

Note: On some operating systems such as Windows 2003, Windows XP and later you can use /ma switch instead of /f switch to save additional debugging information such as handle data and thread time information:

"C:\Program Files\Debugging Tools for Windows\windbg.exe" -p %ld -e %ld -g -c '.dump /o /ma c:\TEMP\new.dmp; q' -Q -QS -QY -QSY

If the dump is still not generated, try to enable detailed process tracking in your local security policy, then look for process creation events in the security event log to see if the postmortem debugger is launched.

More Information

If you don’t want to install Debugging Tools for Windows you can use an existing debugger on your system: NTSD. Refer to CTX105888 – How to Set NTSD as a Default Windows Postmortem Debugger.



Primary links

Custom Search

Who's new

  • maczugaher
  • locksgydff
  • isotheces
  • ahundredyears7
  • Jacomijntjefu

Who's online

There are currently 0 users and 4 guests online.

KrissysCorner.com RuthSwensonLaw.com CreativeLizardProductions.com

DISCLAIMER:

None of this has anything to do with us, someone else is responsible for the entire thing, and we have no idea who or why. We do not know anything about it. It may be alien life forms for all we know: we haven't a clue. You cannot blame us for anything that may result from your visit. That was entirely your own personal choice, made by you of your own volition, and without our knowledge. We do not, after all, have any control over you and cannot by any stretch of the imagination be expected to accept or acknowledge, be it legally or morally, any accountability for decisions made by you on an independent basis, utilizing your own free will, and without our intervention. We are therefore in no way, shape, or form answerable to anyone for any consequences arising from the aforementioned or indeed any other actions, similar or otherwise, because it was not us that did, or did not do anything. It is not even remotely our fault, and we are in no way prepared or willing to accept any liability, not even slightly, ever. We are, in fact completely and utterly blameless, in that it is definitely not our concern, and no blame can possibly be laid at our doorstep, even if we had one, the possession of which we hereby reserve as being entirely our own free choice. The onus is not on us at all, and furthermore, never has been. The entire matter is wholly beyond our control, and completely out of our hands, each of which are washed scrupulously clean of the whole business. We are not accountable for anything at all, and we hereby categorically deny all responsibility for all that has ever, or will ever happen. Our innocence is therefore wholly beyond doubt and absolutely unimpeachable, and so cannot, under even the remotest or unlikeliest circumstances, be brought into question. By clicking either on a link on this site, clicking on a link that leads to this site, or by arriving at this site by natural or supernatural means, you are in effect accepting responsibility for the fact that it is all entirely your own fault, down to the most miniscule detail, and that you are wholly accountable for whatever outcome may arise as a consequence of the aforementioned action or actions insofar as they were undertaken personally by you on an entirely voluntary basis and without any persuasion, coercion or influence from any party or parties other than yourself. Don't come sniveling to us, we are only figments of your imagination. I also agree that if I am ever with a contributor to this website during mealtimes I agree to pay for any super-sizing of their meal, or at least a nice dessert or one of those foo-foo drinks with an umbrella or a monkey. By admitting to have seen the worthless spineless drivel on this website (also known as content)

I Agree Wholeheartedly and Without Reservation to the above. (Except maybe for that part about the monkey.)

All Your Base Are Belong To Us.

Soylent Green Is People!

Never make a bet with a Sicilian when Death is on the Line!

No. Really, I do agree.