![]() |
Telelogic Rhapsody (steve huntington) | ![]() |
Topic Title: VB Macro to display complex variable values in Rhapsody Topic Summary: Created On: 23-Nov-2006 16:42 Status: Read Only |
Linear : Threading : Single : Branch |
![]() |
![]()
|
![]() |
|||||
A while ago I wrote a VB macro that that displays the values of complex variables while running in Rhapsody.
The intent was to work around the rather severe limitation of Rhapsodys native animation capability that can only display base type values (e.g. float, int, boolean). [At least in the Rhapsody in Ada product] The macro decodes the variables type information and breaks down arrays and structures until it gets to a base type that can be decoded and displayed. I have done some limited testing for arrarys, records, arrays of records, records of arrarys, records of arrarys of records, and so on. Note that this was done as just an exercise only, so the comments and formatting are poor. Also it does not handle bit-fields yet (but certainly could be extended to deal with them). It also tries to kludge a sort of display box notion (using a comment achored to the variable) as a means of selecting the variable to display (emulating the sort of think you would see in Matlab's Simulink when you run a simulation). The macro pulls the symbol information directly from the executable's debug information (make sure debug information is turned on when you compile) rather than instrumented source code. It uses the DBGHELP DLL that is distibuted as part of Microsoft's Platform SDK to do mosts of the work (requires the compile/link to use the Codeview debug info format). There should be very few issues getting it to work for C (the CV format and the DBGHELP are not language dependent). Other notes: I am using Rhapsody in Ada 7.0mr1. The Ada compiler I used was ObjectAda from Aonix. Hopefully someone else finds this useful and can polish it up a bit to be a more functional addon. (And maybe get some juices flowing in Ilogix for future Rhapsody enhancements.)
|
|||||
![]() |
FuseTalk Standard Edition v3.2 - © 1999-2009 FuseTalk Inc. All rights reserved.