Public Member Functions | Package Functions

# BinNavi.API.debug.IDebuggerListener Interface Reference

Interface for listening on raw debugger messages. More...

Inheritance diagram for BinNavi.API.debug.IDebuggerListener:

List of all members.

## Public Member Functions
void | debuggerConnected ()
void | receivedAttachReply (int packetId, int errorCode)
| Signals the arrival of an Attach reply.
void | receivedBreakpointHitReply (int packetId, int errorCode, long threadId, RegisterValues registerValues)
| Signals the arrival of a Breakpoint Hit reply.
void | receivedBreakpointRemovedReply (int packetId, int errorCode, Address address)
| Signals the arrival of a Breakpoint Removed reply.
void | receivedBreakpointSetReply (int packetId, int errorCode, Address address)
| Signals the arrival of a Breakpoint Set reply.
void | receivedDetachReply (int packetd, int errorCode)
| Signals the arrival of a Detached reply.
void | receivedEchoBreakpointHitReply (int packetId, int errorCode, long threadId, RegisterValues registerValues)
| Signals the arrival of an Echo Breakpoint Hit reply.
void | receivedEchoBreakpointRemovedReply (int packetId, int errorCode, Address address)
| Signals the arrival of an Echo Breakpoint Removed reply.
void | receivedEchoBreakpointSetReply (int packetId, int errorCode, Address address)
| Signals the arrival of an Echo Breakpoint Set reply.
void | receivedExceptionReply (int packetId, int errorCode, long threadId, Address address, long exceptionCode)
| Signals the arrival of an Exception reply.
void | receivedHaltReply (int packetId, int errorCode)
| Signals the arrival of a Halt reply.
void | receivedMemoryMap (int packetId, int errorCode, MemoryMap memoryMap)
| Signals the arrival of a Memory Map reply.
void | receivedModuleLoadedReply (int packetId, int errorCode, MemoryModule memoryModule)
| Signals the arrival of a Module Loaded reply.
void | receivedModuleUnloadedReply (int packetId, int errorCode, MemoryModule memoryModule)
| Signals the arrival of a Module Unloaded reply.
void | receivedProcessClosedReply (int packetId, int errorCode)
| Signals the arrival of a Process Closed reply.
void | receivedProcessStartReply (int packetId, int errorCode, MemoryModule memorymodule, long threadId)
void | receivedReadMemoryReply (int packetId, int errorCode, Address address, byte[] data)
| Signals the arrival of a Memory Read reply.
void | receivedRegistersReply (int packetId, int errorCode, RegisterValues registerValues)
| Signals the arrival of a Registers Read reply.
void | receivedRequestTargetReply (int packetId, int errorCode)
void | receivedResumeReply (int packetId, int errorCode)
| Signals the arrival of a Resumed reply.
void | receivedSetRegisterReply (int packetId, int errorCode)
| Signals the arrival of a Register Set reply.
void | receivedSingleStepReply (int packetId, int errorCode, long threadId, Address address, RegisterValues registerValues)
| Signals the arrival of a Single Step reply.
void | receivedTargetInformationReply (int packetId, int errorCode, TargetInformation targetInformation)
| Signals the arrival of a Target Information reply.
void | receivedTerminateReply (int packetId, int errorCode)
| Signals the arrival of a Terminated reply.
void | receivedThreadClosedReply (int packetId, int errorCode, long threadId)
| Signals the arrival of a Thread Closed reply.
void | receivedThreadCreatedReply (int packetId, int errorCode, long threadId)
| Signals the arrival of a Thread Created reply.
## Package Functions
void | debuggerClosed (int errorCode)
| Signals that the debugger was closed.

## Detailed Description

This interface can be implemented by all classes that want to work with the messages received from debug clients. In most cases this is not necessary because BinNavi offers higher-level ways to access this data (see the Process and Thread classes for example). There are a few cases where it might nevertheless be useful to work with raw messages directly.

## Member Function Documentation

void BinNavi.API.debug.IDebuggerListener.debuggerClosed | ( | int | errorCode | ) | `[package]`

Invoked after the debugger closed down for whatever reason.

Parameters:

  | errorCode | 0 to indicate success, any other value to indicate an error.

void BinNavi.API.debug.IDebuggerListener.debuggerConnected | ( |  | ) |

Invoked after the connection has been established to the debugger.

Implemented in BinNavi.API.debug.DebuggerListenerAdapter.

void BinNavi.API.debug.IDebuggerListener.receivedAttachReply | ( | int | packetId,
|  | int | errorCode |
| ) |  |  |

Invoked after a message was received from the debug client that signals that a previous Attach command was processed.

Parameters:

  | packetId | The unique packet ID of the original request.
  | errorCode | 0 to indicate success, any other value to indicate an error.

void BinNavi.API.debug.IDebuggerListener.receivedBreakpointHitReply | ( | int | packetId,
|  | int | errorCode,
|  | long | threadId,
|  | RegisterValues | registerValues |
| ) |  |  |

Invoked after a message was received from the debug client that signals that a breakpoint was hit by the target process.

Parameters:

  | packetId | Always -1 because this is an out-of-band message that is not the answer to a previous request.
  | errorCode | 0 to indicate success, any other value to indicate an error.
  | threadId | The thread ID of the thread that hit the breakpoint.
  | registerValues | Register values of all threads of the target process.

void BinNavi.API.debug.IDebuggerListener.receivedBreakpointRemovedReply | ( | int | packetId,
|  | int | errorCode,
|  | Address | address |
| ) |  |  |

Invoked after a message was received from the debug client that signals that a previous Remove Breakpoint command was processed.

Parameters:

  | packetId | The unique packet ID of the original request.
  | errorCode | 0 to indicate success, any other value to indicate an error.
  | address | Address of the breakpoint that was removed.

void BinNavi.API.debug.IDebuggerListener.receivedBreakpointSetReply | ( | int | packetId,
|  | int | errorCode,
|  | Address | address |
| ) |  |  |

Invoked after a message was received from the debug client that signals that a previous Set Breakpoint command was processed.

Parameters:

  | packetId | The unique packet ID of the original request.
  | errorCode | 0 to indicate success, any other value to indicate an error.
  | address | Address of the breakpoint that was set.

void BinNavi.API.debug.IDebuggerListener.receivedDetachReply | ( | int | packetd,
|  | int | errorCode |
| ) |  |  |

Invoked after a message was received from the debug client that signals that a previous Detach command was processed.

Parameters:

  | packetd | The unique packet ID of the original request.
  | errorCode | 0 to indicate success, any other value to indicate an error.

void BinNavi.API.debug.IDebuggerListener.receivedEchoBreakpointHitReply | ( | int | packetId,
|  | int | errorCode,
|  | long | threadId,
|  | RegisterValues | registerValues |
| ) |  |  |

Invoked after a message was received from the debug client that signals that an echo breakpoint was hit by the target process.

Parameters:

  | packetId | Always -1 because this is an out-of-band message that is not the answer to a previous request.
  | errorCode | 0 to indicate success, any other value to indicate an error.
  | threadId | The thread ID of the thread that hit the breakpoint.
  | registerValues | Register values of all threads of the target process.

void BinNavi.API.debug.IDebuggerListener.receivedEchoBreakpointRemovedReply | ( | int | packetId,
|  | int | errorCode,
|  | Address | address |
| ) |  |  |

Invoked after a message was received from the debug client that signals that a previous Echo Remove Breakpoint command was processed.

Parameters:

  | packetId | The unique packet ID of the original request.
  | errorCode | 0 to indicate success, any other value to indicate an error.
  | address | Address of the breakpoint that was removed.

void BinNavi.API.debug.IDebuggerListener.receivedEchoBreakpointSetReply | ( | int | packetId,
|  | int | errorCode,
|  | Address | address |
| ) |  |  |

Invoked after a message was received from the debug client that signals that a previous Echo Set Breakpoint command was processed.

Parameters:

  | packetId | The unique packet ID of the original request.
  | errorCode | 0 to indicate success, any other value to indicate an error.
  | address | Address of the breakpoint that was set.

void BinNavi.API.debug.IDebuggerListener.receivedExceptionReply | ( | int | packetId,
|  | int | errorCode,
|  | long | threadId,
|  | Address | address,
|  | long | exceptionCode |
| ) |  |  |

Invoked after a message was received from the debug client that signals that an exception occurred in the target process.

Parameters:

  | packetId | Always -1 because this is an out-of-band message that is not the answer to a previous request.
  | errorCode | 0 to indicate success, any other value to indicate an error.
  | threadId | Thread ID of the thread that caused the exception.
  | address | Address where the exception occurred.
  | exceptionCode | Exception code of the exception.

void BinNavi.API.debug.IDebuggerListener.receivedHaltReply | ( | int | packetId,
|  | int | errorCode |
| ) |  |  |

Invoked after a message was received from the debug client that signals that a previous Halt command was processed.

Parameters:

  | packetId | The unique packet ID of the original request.
  | errorCode | 0 to indicate success, any other value to indicate an error.

void BinNavi.API.debug.IDebuggerListener.receivedMemoryMap | ( | int | packetId,
|  | int | errorCode,
|  | MemoryMap | memoryMap |
| ) |  |  |

Invoked after a message was received from the debug client that signals that a previous Memory Map command was processed.

Parameters:

  | packetId | The unique packet ID of the original request.
  | errorCode | 0 to indicate success, any other value to indicate an error.
  | memoryMap | The memory map of the target process.

void BinNavi.API.debug.IDebuggerListener.receivedModuleLoadedReply | ( | int | packetId,
|  | int | errorCode,
|  | MemoryModule | memoryModule |
| ) |  |  |

Invoked after a message was received from the debug client that signals that a new dynamic module was loaded into the address space of the target process.

Parameters:

  | packetId | Always -1 because this is an out-of-band message that is not the answer to a previous request.
  | errorCode | 0 to indicate success, any other value to indicate an error.
  | memoryModule | The module that was loaded.

void BinNavi.API.debug.IDebuggerListener.receivedModuleUnloadedReply | ( | int | packetId,
|  | int | errorCode,
|  | MemoryModule | memoryModule |
| ) |  |  |

Invoked after a message was received from the debug client that signals that a dynamic module was unloaded from the address space of the target process.

Parameters:

  | packetId | Always -1 because this is an out-of-band message that is not the answer to a previous request.
  | errorCode | 0 to indicate success, any other value to indicate an error.
  | memoryModule | The module that was unloaded.

void BinNavi.API.debug.IDebuggerListener.receivedProcessClosedReply | ( | int | packetId,
|  | int | errorCode |
| ) |  |  |

Invoked after a message was received from the debug client that signals that a the target process was closed.

Parameters:

  | packetId | Always -1 because this is an out-of-band message that is not the answer to a previous request.
  | errorCode | 0 to indicate success, any other value to indicate an error.

void BinNavi.API.debug.IDebuggerListener.receivedProcessStartReply | ( | int | packetId,
|  | int | errorCode,
|  | MemoryModule | memorymodule,
|  | long | threadId |
| ) |  |  |

Invoked after a message was received from the debug client that signals that the target process has just been started (but is not running yet).

Parameters:

  | packetId | Always -1 because this is an out-of-band message that is not the answer to a previous request.
  | errorCode | 0 to indicate success, any other value to indicate an error.
  | memorymodule | The process image memory module of the target process.
  | threadId | The thread id of the initial thread in the target process.

void BinNavi.API.debug.IDebuggerListener.receivedReadMemoryReply | ( | int | packetId,
|  | int | errorCode,
|  | Address | address,
|  | byte[] | data |
| ) |  |  |

Invoked after a message was received from the debug client that signals that a previous Read Memory command was processed.

Parameters:

  | packetId | The unique packet ID of the original request.
  | errorCode | 0 to indicate success, any other value to indicate an error.
  | address | The start address from where the data was read.
  | data | The data read from the memory of the target process.

void BinNavi.API.debug.IDebuggerListener.receivedRegistersReply | ( | int | packetId,
|  | int | errorCode,
|  | RegisterValues | registerValues |
| ) |  |  |

Invoked after a message was received from the debug client that signals that a previous Read Registers command was processed.

Parameters:

  | packetId | The unique packet ID of the original request.
  | errorCode | 0 to indicate success, any other value to indicate an error.
  | registerValues | The register values of the target process. This value is null if an error is signaled.

void BinNavi.API.debug.IDebuggerListener.receivedRequestTargetReply | ( | int | packetId,
|  | int | errorCode |
| ) |  |  |

Invoked after the debugger has been started and requests a target to launch.

Parameters:

  | packetId | The unique packet ID of the original request.
  | errorCode | 0 to indicate success, any other value to indicate an error.

void BinNavi.API.debug.IDebuggerListener.receivedResumeReply | ( | int | packetId,
|  | int | errorCode |
| ) |  |  |

Invoked after a message was received from the debug client that signals that a previous Resume command was processed.

Parameters:

  | packetId | The unique packet ID of the original request.
  | errorCode | 0 to indicate success, any other value to indicate an error.

void BinNavi.API.debug.IDebuggerListener.receivedSetRegisterReply | ( | int | packetId,
|  | int | errorCode |
| ) |  |  |

Invoked after a message was received from the debug client that signals that a previous Set Register command was processed.

Parameters:

  | packetId | The unique packet ID of the original request.
  | errorCode | 0 to indicate success, any other value to indicate an error.

void BinNavi.API.debug.IDebuggerListener.receivedSingleStepReply | ( | int | packetId,
|  | int | errorCode,
|  | long | threadId,
|  | Address | address,
|  | RegisterValues | registerValues |
| ) |  |  |

Invoked after a message was received from the debug client that signals that a previous Single Step command was processed.

Parameters:

  | packetId | The unique packet ID of the original request.
  | errorCode | 0 to indicate success, any other value to indicate an error.
  | threadId | The ID of the thread that executed the single step.
  | address | The new instruction pointer value of the thread that executed the single step.
  | registerValues | The register values of the threads of the target process.

void BinNavi.API.debug.IDebuggerListener.receivedTargetInformationReply | ( | int | packetId,
|  | int | errorCode,
|  | TargetInformation | targetInformation |
| ) |  |  |

Invoked after a message was received from the debug client that signals that new target information about the target process arrived.

Parameters:

  | packetId | Always -1 because this is an out-of-band message that is not the answer to a previous request.
  | errorCode | 0 to indicate success, any other value to indicate an error.
  | targetInformation | The target information sent by the debug client. This value is null if an error is signaled.

void BinNavi.API.debug.IDebuggerListener.receivedTerminateReply | ( | int | packetId,
|  | int | errorCode |
| ) |  |  |

Invoked after a message was received from the debug client that signals that a previous Terminate command was processed.

Parameters:

  | packetId | The unique packet ID of the original request.
  | errorCode | 0 to indicate success, any other value to indicate an error.

void BinNavi.API.debug.IDebuggerListener.receivedThreadClosedReply | ( | int | packetId,
|  | int | errorCode,
|  | long | threadId |
| ) |  |  |

Invoked after a message was received from the debug client that signals that an existing thread of the target process was closed.

Parameters:

  | packetId | Always -1 because this is an out-of-band message that is not the answer to a previous request.
  | errorCode | 0 to indicate success, any other value to indicate an error.
  | threadId | The thread ID of the thread that was closed.

void BinNavi.API.debug.IDebuggerListener.receivedThreadCreatedReply | ( | int | packetId,
|  | int | errorCode,
|  | long | threadId |
| ) |  |  |

Invoked after a message was received from the debug client that signals that a new thread was created in the target process.

Parameters:

  | packetId | Always -1 because this is an out-of-band message that is not the answer to a previous request.
  | errorCode | 0 to indicate success, any other value to indicate an error.
  | threadId | The thread ID of the new thread.