DOE Patents title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: 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 = {Tue Jan 21 00:00:00 EST 2014},
month = {Tue Jan 21 00:00:00 EST 2014}
}

Works referenced in this record:

Program analysis circuitry for multi-tasking industrial controller
patent, April 1997


Debugging techniques in a multithreaded environment
patent, November 2002


Method for maintaining cache coherency in software in a shared memory system
patent, August 2005


Shared software breakpoints in a shared memory system
patent, January 2006


Transparent shared memory access in a software development system
patent, February 2006


Software shared memory bus
patent, May 2006


Multi-process debugger
patent, April 2008


Debugging techniques in a multithreaded environment
patent, September 2008


Embedded trace macrocell for enhanced digital signal processor debugging operations
patent, December 2012


Non-intrusive, thread-selective, debugging method and system for a multi-thread digital signal processor
patent, February 2013


Method and system for instruction stuffing operations during non-intrusive digital signal processor debugging
patent, February 2013


Software shared memory bus
patent-application, July 2002


Method for maintaining cache coherency in software in a shared memory system
patent-application, July 2002


Transparent shared memory access in a software development system
patent-application, July 2002


Shared software breakpoints in a shared memory system
patent-application, July 2002


Debugging techniques in a multithreaded environment
patent-application, February 2005


Multi-process debugger
patent-application, November 2005


System and method for implementing software breakpoints
patent-application, March 2006


Method and System fir Instruction Stuffing Operations During Non-Intrusive Digital Signal Processor Debugging
patent-application, May 2008


Non-Intrusive, Thread-Selective, Debugging Method and System for a Multi-Thread Digital Signal Processor
patent-application, May 2008


Embedded Trace Macrocell for enhanced Digital Signal Processor Debugging Operations
patent-application, May 2008


Method and System for Debugging a Program in a Multi-Thread Environment
patent-application, October 2008


Managing Breakpoints in a Multi-Threaded Environment
patent-application, May 2012


Scratchpad memory: design alternative for cache on-chip memory in embedded systems
conference, January 2002


    Works referencing / citing this record:

    Method of testing software
    patent, April 2017