Difference between revisions of "Inside the Eiffel Debugger"
| m | m | ||
| Line 17: | Line 17: | ||
| * Check Src/framework/cli_debugger | * Check Src/framework/cli_debugger | ||
| − | = Debuggee  | + | = Debugger, launcher ...= | 
| − | * DEBUGGED_OBJECT | + | * '''DEBUGGER_MANAGER''': the main interface to control the debugger | 
| − | * DUMP_VALUE | + | * '''DEBUGGER_CONTROLLER''': used internally to request a start, step, kill ... operation | 
| − | * ABSTRACT_DEBUG_VALUE (with EIFNET_ prefix for dotnet specific versions) | + | * '''DEBUGGER_EXECUTION_PARAMETERS''': hold the parameters to launch a debugging session (i.e: arguments, working directory, environment variables) | 
| − | * ICOR_DEBUG_VALUE  (for dotnet) | + | |
| + | = Execution= | ||
| + | * '''APPLICATION_EXECUTION''': when a debugging session is launched, the debugger create an instance of APPLICATION_EXECUTION which represents the debuggee execution | ||
| + | * '''APPLICATION_STATUS''': associated with APPLICATION_EXECUTION, it holds various status,state,data related to the execution, and execution stopped state. | ||
| + | |||
| + | = Debuggee objects= | ||
| + | * '''DEBUGGED_OBJECT''': mainly use to retrieve debuggee data given an address value | ||
| + | * '''DUMP_VALUE''': result of evaluation, it is used to get the effective value for debugger's usage (such as display) | ||
| + | * '''ABSTRACT_DEBUG_VALUE''' (with EIFNET_ prefix for dotnet specific versions): represent the debuggee object, with class, type, address, attributes (if any) .... | ||
| + | * '''ICOR_DEBUG_VALUE'''  (for dotnet): Eiffel classes mapping the ICorDebug value classes | ||
Latest revision as of 02:19, 18 July 2008
Contents
Overview
- main Eiffel classes: DEBUGGER_MANAGER, APPLICATION_EXECUTION, APPLICATION_STATUS, DUMP_VALUE, ABSTRACT_DEBUG_VALUE, DEBUGGED_OBJECT
Platform specific
Classic system:
- main Eiffel class: APPLICATION_EXECUTION_CLASSIC, APPLICATION_STATUS_CLASSIC, IPC_ENGINE, STOPPED_HDLR
-  main runtime entries: 
- folder Src/C/ipc (Inter Process Communication)
 
Src/ipc/app: for the application side (debuggee) Src/ipc/ewb: for the Eiffel debugger side (debugger) Src/ipc/daemon: for the debugger daemon (kind of proxy between ewb and app) Src/ipc/shared: shared code for the communication, (un)serialization, ...
Dotnet system:
- Check Src/framework/cli_debugger
Debugger, launcher ...
- DEBUGGER_MANAGER: the main interface to control the debugger
- DEBUGGER_CONTROLLER: used internally to request a start, step, kill ... operation
- DEBUGGER_EXECUTION_PARAMETERS: hold the parameters to launch a debugging session (i.e: arguments, working directory, environment variables)
Execution
- APPLICATION_EXECUTION: when a debugging session is launched, the debugger create an instance of APPLICATION_EXECUTION which represents the debuggee execution
- APPLICATION_STATUS: associated with APPLICATION_EXECUTION, it holds various status,state,data related to the execution, and execution stopped state.
Debuggee objects
- DEBUGGED_OBJECT: mainly use to retrieve debuggee data given an address value
- DUMP_VALUE: result of evaluation, it is used to get the effective value for debugger's usage (such as display)
- ABSTRACT_DEBUG_VALUE (with EIFNET_ prefix for dotnet specific versions): represent the debuggee object, with class, type, address, attributes (if any) ....
- ICOR_DEBUG_VALUE (for dotnet): Eiffel classes mapping the ICorDebug value classes



