|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.github.croesch.micro_debug.debug.BreakpointManager
public final class BreakpointManager
A manager for break points in the debugger.
| Constructor Summary | |
|---|---|
BreakpointManager()
|
|
| Method Summary | |
|---|---|
void |
addMacroBreakpoint(java.lang.Integer line)
Adds a breakpoint for the given line number in the macro code. |
void |
addMicroBreakpoint(java.lang.Integer line)
Adds a breakpoint for the given line number in the micro code. |
void |
addRegisterBreakpoint(Register r)
Adds a breakpoint for the given Register on write access. |
void |
addRegisterBreakpoint(Register r,
java.lang.Integer val)
Adds a breakpoint for the given Register and the given value. |
boolean |
isBreakpoint(int microLine,
int macroLine,
MicroInstruction currentInstruction,
MicroInstruction nextInstruction)
Returns whether any break point condition is met. |
boolean |
isMacroBreakpoint(java.lang.Integer line)
Returns whether there is a breakpoint for the given line number in the macro code. |
boolean |
isMicroBreakpoint(java.lang.Integer line)
Returns whether there is a breakpoint for the given line number in the micro code. |
boolean |
isRegisterBreakpoint(Register r)
Returns whether there is a breakpoint for the given Register on write access. |
boolean |
isRegisterBreakpoint(Register r,
java.lang.Integer val)
Returns whether there is a breakpoint for the given Register and the given value. |
void |
listBreakpoints()
Lists all breakpoints. |
void |
removeBreakpoint(int id)
Removes the breakpoint with the given unique id. |
void |
removeMacroBreakpoint(java.lang.Integer line)
Removes a breakpoint for the given line number in the macro code. |
void |
removeMicroBreakpoint(java.lang.Integer line)
Removes a breakpoint for the given line number in the micro code. |
void |
removeRegisterBreakpoint(Register r)
Removes the breakpoint for the given Register on write access. |
void |
removeRegisterBreakpoint(Register r,
java.lang.Integer val)
Removes the breakpoint for the given Register and the given value. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public BreakpointManager()
| Method Detail |
|---|
public boolean isBreakpoint(int microLine,
int macroLine,
MicroInstruction currentInstruction,
MicroInstruction nextInstruction)
microLine - the number of the line in micro code being executed nextmacroLine - the number of the line in macro code being executed nextcurrentInstruction - the current (last executed) MicroInstructionnextInstruction - the next (to be executed) MicroInstruction
true if a break point is met,false otherwise
public void addRegisterBreakpoint(Register r,
java.lang.Integer val)
Register and the given value.
r - the Register to watch for the given valueval - the value the debugger should break if the given Register has it.public void addRegisterBreakpoint(Register r)
Register on write access.
r - the Register to watch for being writtenpublic boolean isRegisterBreakpoint(Register r)
Register on write access.
r - the Register to check if it's currently being watched
true if the manager contains a breakpoint for the register on write access,false otherwise
public boolean isRegisterBreakpoint(Register r,
java.lang.Integer val)
Register and the given value.
r - the Register to check if it's currently being watchedval - the value to check, if the debugger would break if the given Register has it.
true if the manager contains a breakpoint for the register and the given value,false otherwisepublic void removeRegisterBreakpoint(Register r)
Register on write access. If the breakpoint has been set or not, after
calling this method, the breakpoint is definitely not set.
r - the Register to not watch anymore for being written
public void removeRegisterBreakpoint(Register r,
java.lang.Integer val)
Register and the given value. If the breakpoint has been set or not,
after calling this method, the breakpoint is definitely not set.
r - the Register to not watch anymore for being writtenval - the value the debugger should not break anymore if the given Register has it.public void addMicroBreakpoint(java.lang.Integer line)
line - the line number in micro code the debugger should break atpublic boolean isMicroBreakpoint(java.lang.Integer line)
line - the line number in micro code to check for a breakpoint
true if the manager contains a breakpoint for the micro code in the given line,false otherwisepublic void removeMicroBreakpoint(java.lang.Integer line)
line - the line number in micro code the debugger shouldn't break at anymore,public void addMacroBreakpoint(java.lang.Integer line)
line - the line number in macro code the debugger should break atpublic boolean isMacroBreakpoint(java.lang.Integer line)
line - the line number in macro code to check for a breakpoint
true if the manager contains a breakpoint for the macro code in the given line,false otherwisepublic void removeMacroBreakpoint(java.lang.Integer line)
line - the line number in macro code the debugger shouldn't break at anymore,public void removeBreakpoint(int id)
id - the unique id of the breakpoint to removepublic void listBreakpoints()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||