Ranked break points and method for debugging a computer program

Data processing: software development – installation – and managem – Software program development tool – Testing or debugging

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

Reexamination Certificate

active

06543049

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Technical Field
This invention generally y relates to computer programming and more specifically relates to mechanisms and methods for debugging a computer program.
2. Background Art
Since the d awn of the computer age, computer systems have evolved into extremely sophisticated devices, and computer systems may be found in many different settings. Computer systems typically include a combination of hardware, such as semiconductors and circuit boards, and software, also known as computer programs. As advances in semiconductor processing and computer architecture push the performance of the computer hardware higher, more sophisticated computer software has evolved to take advantage of the higher performance of the hardware, resulting in computer systems today that are much more powerful than just a few years ago.
As the sophistication and complexity of computer software increase, the more difficult the software is to debug. Debugging is the process of finding problems, or “bugs”, during the development of a computer program. Most modem programming environments include a debugger that provides tools for testing and debugging a computer program. Known debuggers allow the user to set one or more breakpoints in the computer program, which are points where the execution of the computer program is stopped so that the state of the program can be examined to verify that the program executed as designed. In debugging a sophisticated program, the user may specify many breakpoints to assure that the code is functioning properly.
Another function that many known debuggers provide is a “RunTo” function that allows a user to select an instruction in the computer program and “run to” that instruction. Known RunTo functions work fine when no breakpoints have been defined in a computer program. However, when one or more breakpoints have been defined, the debugger will stop at the first breakpoint it encounters, which effectively aborts the RunTo function. The user can always resume by selecting the RunTo function again for the same instruction, but if another breakpoint is encountered before the selected instruction, the debugger halts again and aborts the RunTo function. In a program that has many breakpoints defined, a user may have to re-start the RunTo function many times in order to get the program to run to the selected instruction. This process of being interrupted by breakpoints when performing a RunTo function is frustrating for users of the debugger.
One way to avoid stopping at breakpoints is to disable or remove the breakpoints that are encountered before the RunTo instruction is encountered. However, known debuggers only allow creating and deleting individual breakpoints, and some additionally allow turning on (enabling) and turning off (disabling) individual breakpoints. Thus, if there are 50 breakpoints that may be encountered before the selected RunTo instruction, the user would have to manually remove or disable each of the 50 breakpoints. This approach also requires that the user knows all possible paths of program flow, and remove or disable breakpoints in all possible paths. Needless to say, this process of manually disabling or removing breakpoints for the sake of running a RunTo function without interruption is an expensive price to pay when debugging a complex program. One could conceivably do a global clear or disable of all breakpoints, but this approach would require the user to re-establish or re-enable each breakpoint one at a time. If the user has spent considerable time setting up breakpoints, the last thing he or she wants to do is to delete or disable all of them. Without a mechanism and method for performing a RunTo command without stopping at every breakpoint, the computer industry will continue to suffer from inefficient methods and tools for debugging computer programs.
DISCLOSURE OF INVENTION
According to the present invention, ranked breakpoints are defined in a computer program that allow a debugger to determine whether or not to halt execution of the computer program when a ranked breakpoint is encountered based on the rank of the breakpoint compared to a threshold rank. In a preferred embodiment, the threshold rank is the rank of a RunTo function, and the ranked breakpoints only halt execution of the computer program if their rank is higher than the threshold rank of the RunTo function. The present invention thus provides a mechanism for ignoring some or all breakpoints in a computer program when performing debugger functions, such as a RunTo function.


REFERENCES:
patent: 5129078 (1992-07-01), Groves et al.
patent: 5140671 (1992-08-01), Hayes et al.
patent: 5379301 (1995-01-01), Sato et al.
patent: 5488688 (1996-01-01), Gonzales et al.
patent: 5548717 (1996-08-01), Wooldridge et al.
patent: 5838975 (1998-11-01), Abramson et al.
patent: 5889981 (1999-03-01), Betker et al.
patent: 6077312 (2000-06-01), Bates et al.
patent: 6240545 (2001-05-01), Carmichael et al.
Wahbe et al., Practical Data Breakpoints . . . , 1993, ACM, pp. 1-12.*
Keehnemann et al., Towards Target Level Testing and Debugging . . . , 1993, ACM, pp. 288-298.*
Kacsuk, Systematic Debugging . . . , not dated, ACM, pp. 1-14.*
Koch et al., Breakpoints and Breakpoint Detection . . . , 1996, IEEE, pp. 26-31.*
Miller et al., Breakpoints and Halting . . . , 1998, IEEE, pp. 316-323.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Ranked break points and method for debugging a computer program does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Ranked break points and method for debugging a computer program, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Ranked break points and method for debugging a computer program will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3059838

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.