CeDebugX includes commands to evaluate the state of the system to diagnose the type and detailed nature of a crash, hang, or deadlock. CeDebugX looks for access violations, stack overflows, spinning threads, deadlocks, orphaned critical sections and mutexes, and heap corruptions. If one or more of these failures is detected, CeDebugX displays as much detailed information as possible regarding the failures, for example, exception address, call stacks, sync object ownership, memory evaluations, and so forth. If more than one failure is detected, CeDebugX presents a list of failures, sorted by severity and confidence in the diagnosis. If a crash or hang is detected, but a positive diagnosis is not possible, CeDebugX will attempt to provide suggestions for further investigation.