Handling debugger breakpoints in a shared instruction system
Abstract
A debugger debugs processes that execute shared instructions so that a breakpoint set for one process will not cause a breakpoint to occur in the other processes. A breakpoint is set by recording the original instruction at the desired location and writing a trap instruction to the shared instructions at that location. When a process encounters the breakpoint, the process passes control to the debugger for breakpoint processing if the breakpoint was set at that location for that process. If the trap was not set at that location for that process, the cacheline containing the trap is copied to a small scratchpad memory, and the virtual memory mappings are changed to translate the virtual address of the cacheline to the scratchpad. The original instruction is then written to replace the trap instruction in the scratchpad, so that process can execute the instructions in the scatchpad thereby avoiding the trap instruction.
- Inventors:
- Issue Date:
- Research Org.:
- International Business Machines Corp., Armonk, NY (United States)
- Sponsoring Org.:
- USDOE
- OSTI Identifier:
- 1117839
- Patent Number(s):
- 8635603
- Application Number:
- 12/255,138
- Assignee:
- International Business Machines Corporation (Armonk, NY)
- Patent Classifications (CPCs):
-
G - PHYSICS G06 - COMPUTING G06F - ELECTRIC DIGITAL DATA PROCESSING
- DOE Contract Number:
- B554331
- Resource Type:
- Patent
- Resource Relation:
- Patent File Date: 2008 Oct 21
- Country of Publication:
- United States
- Language:
- English
- Subject:
- 97 MATHEMATICS AND COMPUTING
Citation Formats
Gooding, Thomas Michael, and Shok, Richard Michael. Handling debugger breakpoints in a shared instruction system. United States: N. p., 2014.
Web.
Gooding, Thomas Michael, & Shok, Richard Michael. Handling debugger breakpoints in a shared instruction system. United States.
Gooding, Thomas Michael, and Shok, Richard Michael. Tue .
"Handling debugger breakpoints in a shared instruction system". United States. https://www.osti.gov/servlets/purl/1117839.
@article{osti_1117839,
title = {Handling debugger breakpoints in a shared instruction system},
author = {Gooding, Thomas Michael and Shok, Richard Michael},
abstractNote = {A debugger debugs processes that execute shared instructions so that a breakpoint set for one process will not cause a breakpoint to occur in the other processes. A breakpoint is set by recording the original instruction at the desired location and writing a trap instruction to the shared instructions at that location. When a process encounters the breakpoint, the process passes control to the debugger for breakpoint processing if the breakpoint was set at that location for that process. If the trap was not set at that location for that process, the cacheline containing the trap is copied to a small scratchpad memory, and the virtual memory mappings are changed to translate the virtual address of the cacheline to the scratchpad. The original instruction is then written to replace the trap instruction in the scratchpad, so that process can execute the instructions in the scatchpad thereby avoiding the trap instruction.},
doi = {},
journal = {},
number = ,
volume = ,
place = {United States},
year = {2014},
month = {1}
}
Works referenced in this record:
Scratchpad memory: design alternative for cache on-chip memory in embedded systems
conference, January 2002
- Banakar, Rajeshwari; Steinke, Stefan; Lee, Bo-Sik
- Proceedings of the tenth international symposium on Hardware/software codesign - CODES '02