Using SparcWorks Debugger with Objectime Developer Version 5.2 and 5.2.1 |
Category: |
Toolset
Purpose: |
This technote describes what you need to do to your environment in order to use the SparcWorks Debugger.
Intended Audience: |
Anyone interested in using the SparcWorks Debugger for source debugging in the SimulationRTS or TargetRTS.
Applicable to: |
ObjecTime 5.2 and ObjecTime 5.2.1
Description: |
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 "
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: |
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: |
None
Copyright © 1999, ObjecTime Limited. |