Debugger Architecture

IBM Rational® DOORS® does not offer native debugging capability.
In order to support debugging, the DXL Editor needs to instrument the DXL file the user requests to execute.

Here are the debugger steps:

  1. Parse the DXL source file
    The parser will analyze the DXL code to locate source artifacts that are relevant to the debugger: function declarations, variable declarations, loops, etc.
  2. Augment the DXL code with debugging instructions
    The debugger will insert DXL statements in the located source artifacts to be notified when the execution enters a function or when a variable is defined for example. The augmented code is saved in a temporary file, so that the source DXL file is left untouched. The DXL Debugger executes this augmented code rather than the original DXL file.
  3. Resolve include statements
    The parser will analyze the include statements. It will resolve includes paths to absolute file locations in the file system. Then the parser will recursively augment the included files, so that the user can step into functions defined in these locations.
    Note that the user may request to ignore include statements, and thus to be able to debug only the main DXL file.
  4. Communicate with IDE
    A communication layer enables the debugged DXL file to notify the IDE about executed functions, and enables the IDE to request to suspend the execution.



Related concepts

Related reference
Debugger Known Limitations
Debugger Troubleshooting