Version 2.0 of HangRx.exe and MemoRx.exe are complete and have been posted to Jetstream. The biggest change is how the two tools are combined – Hang Doctor now detects if MemoRx.exe is available, and will log the memory snapshot automatically, each time HangRx.exe logs thread information. To run both tools, you simply need to have each on your device (or \Release directory). I have added several helpful command line parameters to HangRx.exe that should be helpful in your debugging efforts:
Windows CE> s HangRx.exe [-?-h] [-txxx] [-f[dir_name]] [-d[thread_pri]]
The –txxx parameter allows you to specify the duration HangRx.exe waits between logging thread activities, 1 minute minimum. You can use this parameter to program the tool to generate thread reports less frequently if you wish. Please note there is no whitespace before your specified number and the parameter is expected to be in minutes.
The –f[dir_name] parameter allows you to point to the directory for which the logs will be written. This is useful if you are trying to log to a storage card (-f\Storage Card). Note that this parameter will automatically be passed to MemoRx.exe so both tools will log to the same directory. Please also note that the file name will always be HangRx.log (and MemoRx.log) - only the directory location is configurable.
The –d[thread_pri] will cause HangRx.exe to break into the debugger when a hang condition at that thread occurs. If your device is not connected to a debugger, then this parameter will cuase HangRx.exe to log a Watson dump and automatically reboot your device for investigation. Care should be used when issuing this command on retail/stand alone devices.
To help diagnose potential hang issues, refer to the following sample output file:
Please note that the files available on Jetstream are signed with the Microsoft Build/QA certificate and may need to be re-signed with a private, system certificate located on your device. Thanks and good Hopper luck.