Welcome to MSDN Blogs Sign in | Join | Help

Getting help from the Doctor (Dr Watson that is!)

You cannot ship a device connected to the debugger so eventually you will have to cut the cord and run your device standalone. Windows mobile ships a pocket version of Dr Watson that can help evaluate application exceptions that occur while in this unconnected state. Dr Watson already deals with the heavy lifting of logging the exception and providing a debuggable kernel dump – all you need to do is to get these dump files into your release directory for debugging. The default values I like to change are:

 

HKEY_Local_Machine\System\ErrorReporting\DumpSettings\DumpDirectory = \<storage card name>\DumpFiles

HKEY_Local_Machine\System\ErrorReporting\UploadSettings\DontUpload = 1   

 

Changing these settings will write .kdmp files to your storage card and Watson won’t attempt to upload the files to the Watson server. Additionally, the Watson UI will not be displayed – so don’t be surprised if you no longer see the dialog prompting you to report the errors found. By logging to an external storage card, you can simply remove the card after any Hopper run and view the exceptions that occurred on that device – you will need to look carefully since the DumpDirectory is hidden.

 

There are additional settings you can play with (like MaxDiskUsage and MaxLogFiles), but in general the Watson documentation is excellent (search for “Error Reporting”) and won’t need repeating here.

 

Once the kdmp file is in your release directory, it is possible to connect the debugger directly using the PMD (Post Mortem Debugger) available on JetStream for your Windows Mobile partners. The dump provides a snapshot view of the exception including the call stack, disassembly and the register values – basically enough information to solve most program exceptions that may occur on your device.

Published Friday, October 07, 2005 6:25 PM by shende
Filed under: , ,

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

# re: Getting help from the Doctor (Dr Watson that is!)

Friday, October 07, 2005 5:10 PM by shende
What is the PMD debugger?

# re: Getting help from the Doctor (Dr Watson that is!)

Monday, October 10, 2005 11:52 AM by roboform
[Not about this topic]
I have a most basic question:
How can I judge the Hopper.exe is stopped?
Many time I meet that the hopper has halt and the LCD has turned off, no response appear when I stoke the keypad. but after a while, Hopper.exe will re-work. So I have this question. Could you tell anything about this?

Thanks!

# re: Getting help from the Doctor (Dr Watson that is!)

Monday, October 10, 2005 7:17 PM by shende
I can try to help and much depends on the platform the platform. Hopper has a visual clue to determine if its running - there will be a flashing 5 pixel box in the upper left of the screen. If its not flashing, Hopper is not running (likely device hang). If the box is blinking then Hopper is happily sending keys to your device.

Sometimes you will need to press a key to activate the device LCD to see if it is responsive. Pocket PC device should never suspend during a Hopper run so this should not be the problem.

# re: Getting help from the Doctor (Dr Watson that is!)

Wednesday, October 12, 2005 8:17 AM by kevin
Where is the "post mortem debugger" located? What do you mean by saying that it's "available on JetStream for your Windows Mobile partners?" I've never heard of this. Thanks, kevin

# re: Getting help from the Doctor (Dr Watson that is!)

Wednesday, October 12, 2005 9:53 AM by shende


Kevin, Jetstream is a resource reserved as a conduit to deliver product to our Windows Mobile Partners. The PMD, as well as your AK’s, LTK and other Microsoft services are available from this location.

If you are a registered Windows Mobile partner, then this resource will be available to you and your account representative can help you with the connection. Please notify me if you are having any troubles accessing this resource and I can help.

If you are not a Windows Mobile partner, you are unfortunately prevented from accessing this site. Hopper will only run on Windows Mobile so I can make certain assumptions regarding the audience of this site – my apologies if this is misunderstood.

If there is enough interest in the general embedded area, perhaps I will blog about creating Hopper-like stability tools for non-WM platforms.

# Debugging a kdmp file retrieved from your device.

Tuesday, April 04, 2006 5:54 PM by Jeff Abraham's WebLog
I saw a post on one of our development forums asking how to debug a crash dump file (e.g. foo.kdmp)....

# re: Getting help from the Doctor (Dr Watson that is!)

Tuesday, April 11, 2006 9:51 AM by Is there a document defining the .kdmp file format
I am working with .kdmp files every day and I
need a more efficient way to analyze the data than platform builder

# re: Getting help from the Doctor (Dr Watson that is!)

Tuesday, April 11, 2006 10:19 AM by shende
Sorry, but I am not aware of a document describing this format. My suggestion would be to investigate the debugger extensions that are both documented and very powerful. The extension should allow complete access to the kdmp file.

# Tool for viewing .kdmp files!

Thursday, October 05, 2006 4:54 PM by bgeenen

It took some digging, but I think this is the tool that people are asking about.

Windows CE Dump Viewer

Brief Description

Windows CE log dump tool

Filename

UIDumpViewer.exe

http://www.microsoft.com/downloads/details.aspx?FamilyID=76b18828-09e4-4a87-a8e4-a06f2352b754&DisplayLang=en

# How to watch variables?

Monday, July 09, 2007 6:36 AM by alexei

I use WinDbg to analyze .kdmp files generated in WM5. It shows well the stack trace and source locations, however I could not manage to work locals/watch windows. Though all my variable symbols are certainly present in .pdb files, the debugger attempts to look at "symbols.pri" which is not generated.

Unable to enumerate locals, Win32 error 318

Private symbols () are required for locals.

Type ".hh dbgerr005" for details.

# re: Getting help from the Doctor (Dr Watson that is!)

Friday, December 18, 2009 9:29 AM by Rashmi

Hey, I am trying to get the .kdmp file by modifying the registry entries as you have mentioned. I see them modified in the regini.ini also. But I dont see them getting modified in the final image that I download, when i see in the remote registry editor. Can you help me find out the reason?

Leave a Comment

(required) 
required 
(required) 

  
Enter Code Here: Required
 
Page view tracker