A new tool has been developed to help detect and identify stability issues in real time. This proactive debugging is a change from traditional thinking where you run the device down and try to determine the root cause, often long after the original problem occurred.
HangRx.exe is installed soon after boot and lies dormant watching for events that could lead to destabilization. Once it has detected a scenario that could lead to badness, HangRx comes alive and does its best to provide the user with corrective actions. HangRx.exe does not actually interfere with the offending process/thread, but rather continually notifies the user what is happening and suggests corrective action. HangRx.exe began as a simple watchdog application that could detect and isolate hung threads. Today, it has grown into a more robust set of features:
- Monitors shell32/Telshell health.
- Watches available physical memory.
- Reports remaining virtual memory.
- Diagnoses any thread inversion/hang issues and isolates cause (including offending thread callstack).
Main Focus: HangRx.exe was designed to provide Windows Mobile users a way to proactively debug Hopper stability Runs. Stability issues are almost always difficult to find – the nature of the test will often hide root cause issues with unrelated crashes and hangs. With a proactive debugger in place, it is not possible to see the source of issues and lead the user closer to the root cause of any problem.
Use: Launch after boot. If you are running on a standalone device you can either add it to your startup folder or launch manually. HangRx.exe works equally well on retail and debug-connected devices and logs to standard debug out. Logging to a storage card will be available in future versions.
Availability: The initial version is available only through a limited distribution, later releases will be through the official AK process as a power tool and available to all. HangRx.exe is distributed for your enjoyment only – Neither support or warranties either expressed or implied are available for this tool.
Sample Output: HangRx will periodically output physical and virtual memory statistics like the following:
<img src=’http://img.villagephotos.com/p/2005-7/1041592/thread2.jpg’ width=716 height=106 >
When a potential hang is detected, HangRx will continue to evaluate blocked threads and provide the user with a best guess of where the problem lies: