ACM Home Page
Please provide us with feedback. Feedback
Correctness of trap-based breakpoint implementations
Full text PdfPdf (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
Norman Ramsey  Bell Communications Research, Morristown, NJ
Sponsors
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 2,   Downloads (12 Months): 20,   Citation Count: 3
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/174675.175188
What is a DOI?

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
 
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