| Correctness of trap-based breakpoint implementations |
| Full text |
Pdf
(852 KB)
|
| Source
|
Annual Symposium on Principles of Programming Languages
archive
Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
table of contents
Portland, Oregon, United States
Pages: 15 - 24
Year of Publication: 1994
ISBN:0-89791-636-0
|
|
Author
|
|
| Sponsors |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 2, Downloads (12 Months): 20, Citation Count: 3
|
|
|
ABSTRACT
It is common for debuggers to implement breakpoints by a combination of planting traps and single stepping. When the target program contains multiple threads of execution, a debugger that is not carefully implemented may miss breakpoints. This paper gives a formal model of a breakpoint in a two-threaded program. The model describes correct and incorrect breakpoint implementations. Automatic search of the model's state space shows that the correct implementation does miss a breakpoint. The results apply even to debuggers like dbx and gdb, which are apparently for single-threaded programs; when the user evaluates an expression containing function calls, the debugger executes the call in the target address space, in effect creating a new thread.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
 |
1
|
Z. Aral , I. Gerther , G. Schaffer, Efficient debugging primitives for multiprocessors, Proceedings of the third international conference on Architectural support for programming languages and operating systems, p.87-95, April 03-06, 1989, Boston, Massachusetts, United States
|
| |
2
|
|
| |
3
|
Caswell, Deborah and David Black. 1990 (January). implementing a Mach debugger for multithreaded applications. In Proceedings of the Winter USENIX Conference, pages 25-39, Washington, DC.
|
| |
4
|
Digital Equipment Corporation. 1975. DDT--Dynamic Debugging Technique. Maynard, MA.
|
| |
5
|
|
 |
6
|
|
 |
7
|
|
| |
8
|
|
 |
9
|
|
| |
10
|
|
| |
11
|
Linton, Mark A. 1990 (June). The evolution of Dbx. In Proceeding8 o} the Summer USENIX Conference, pages 211-220, Anaheim, CA.
|
| |
12
|
Ramsey, Norman. 1992a (August). Literate-programming tools need not be complex. Technical Report CS-TR-351-91, Department of Computer Science, Princeton University. Submitted to IEEE Software.
|
| |
13
|
1992b (December). A Retargetable Debugger. PhD thesis, Princeton University, Department of Computer Science. Also Technical Report CS-TR-403-92.
|
 |
14
|
|
| |
15
|
Stallman, Richard M. and Roland H. Pesch. 1991. Using GDB: A guide to the GNU source-level debugger, GDB version 4.0. Technical report, Free Software Foundation, Cambridge, MA.
|
 |
16
|
|
|