Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Backtrackable Software Debugger

IP.com Disclosure Number: IPCOM000020332D
Original Publication Date: 2003-Nov-13
Included in the Prior Art Database: 2003-Nov-13
Document File: 1 page(s) / 36K

Publishing Venue

IBM

Abstract

This article gives a brief look at the idea of creating a software debugger that is capable of going backwards (backtracking) the steps that take place in a program's source code.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 100% of the total text.

Page 1 of 1

Backtrackable Software Debugger

Disclosed is a technique that allows a user who mistakenly goes too far into the debugging session to conveniently backtrack to any desired point within the debug session. In this patent idea the program state is not saved, which is admittedly an extremely inefficient method. Instead a log is saved as the program progresses in the debugger. This log can be interpreted in a reverse mode allowing the programmer to back up in debugger.

Below is an example of a C line of code, the corresponding assembly, the debugger save state code and the corresponding backup code.

C code corresponding assembly debugger save state code corresponding backup code. | push i on stack_for_variable_i | i = pop from stack_for_variable_i i = 6; | addi gr4=6 |

| stw i(gr1,64)=gr4 |

From this the debugger pushes variable values before assigning new variable values. When the user selects the backup (opposite of next or step in dbx) the debugger will pop the old previous values from the corresponding stack and assign it to the variable.

Most likely it would be easy to implement within a routine even with pointer to memory, although pointers to memory would require a great deal of stack, basically one stack per word of changed memory.

Disclosed by International Business Machines Corporation

1