Using SparcWorks Debugger with Objectime Developer Version 5.2 and 5.2.1

Category |  Purpose |  Intended Audience |  Applicable to |  Description |  Limitations |  See also


Category:

Top

Toolset


Purpose:

Top

This technote describes what you need to do to your environment in order to use the SparcWorks Debugger.


Intended Audience:

Top

Anyone interested in using the SparcWorks Debugger for source debugging in the SimulationRTS or TargetRTS.


Applicable to:

Top

ObjecTime 5.2 and ObjecTime 5.2.1


Description:

Top

Refer to ObjecTime 5.2 C++ Guide "Using External C++ Debuggers" p.130 for introduction.

A file must be added to your Objectime working directory:

.objectime.debugger.commands

Create the '.objectime.debugger.commands' text file with the following contents:

 attach          "debug - 0"
 bline           "stop at :0"
 bfunc           "whereis ; stop inmember "
 continue        "cont"
 dir             ""
 debugger        "debugger -s  "

Important Notes:

Application may run past user's breakpoints BEFORE the debugger has had a chance to attach itself to the running application process. A way to avoid this is to place a transition probe on the start of the initial transition of a top level actor. Set this transition probe to 'Halt' but not 'Source Breakpoint'. The model will halt during initialization and spawn the debugger but will not stop in the source code. You will need to resume the model from the RTS Control Panel to get the model running again.

We provide this example on an 'as is' basis. If it does not work in customer's environment, it is up to customers to modify the scripts as required.


Limitations:

Top

With SimulationRTS, resetting or closing the RTS from the toolset will not kill the debugger. The user must exit the debugger manually after the reset/close.

Using this example with SimulationRTS or Target Observability, resetting or closing the RTS from the toolset will not kill the debugger nor the application being debugged. After reset/close, the user must use the "kill" debugger command to kill the application process being debugged and then exit out of the debugger. Warning: failure to kill the application may result in the application 'hanging' the next time it is run. This is because the application may still be communicating with the rtsController intermediary process (for TargetRTS) or with the toolset (for SimulationRTS). If you do not follow this step you may find that the debugger does not work properly with your model.


See also:

Top

None


 

Copyright © 1999, ObjecTime Limited.