Patent ID: 7526682

Claim:
A method for performing effective diagnosis of software hangs, comprising: tracking an operating time offset of a thread within an area of memory of the thread, the thread operating within a software application on a computer system, and the operating time offset comprising a time value indicating an amount of time the thread has actively operated on the computer system; tracking, for each frame of the thread, a load time for the frame within an area of memory of the frame, the load time comprising a time value indicating when the frame was loaded within the thread on the computer system; tracking, for each frame of the thread, a relative load time for the frame within an area of memory of the frame, the relative load time comprising a time value adjusted for inactivity of the thread indicating when the frame was loaded within the thread on the computer system derived from the load time for the frame and the operating time offset of the thread; setting, for each frame when loaded, the load time for the frame and the relative load time for the frame; updating the operating time offset of the thread responsive to starting, suspending, or resuming operations with the thread; performing a thread dump at a specified time; calculating, for each frame of the thread responsive to performing the thread dump, a frame age and a relative frame age, the frame age indicating the amount of elapsed time since the frame started running and the relative frame age indicating the amount of time that the frame has actively performed operations, the frame age and the relative frame age derived from the time of the thread dump, the operating time offset of the thread, the load time of the frames within the thread, and the relative load time of the frames within the thread; and diagnosing hanging frames of the thread operating within the software application based on the frame age and the relative frame age of each frame of the thread.