![]() |
Telelogic DOORS (steve huntington) | ![]() |
new topic :
profile :
search :
help :
dashboard :
calendar :
home
|
||
Latest News:
|
|
Topic Title: Debugging Tip Topic Summary: Created On: 11-May-2006 15:12 Status: Post and Reply |
Linear : Threading : Single : Branch |
![]() |
![]()
|
![]() |
|
A neat undocumented debugging trick for DOORS 8.
put the following above the code you want to debug:- startDXLTracing_("C:\\Your Dir\\Your File.txt") and the following beneath the code to be debugged: - stopDXLTracing_ Run the code and open the file you've created, made my life a little bit easier, might make yours easier to? ------------------------- Regards, Richard Good |
|
![]() |
|
![]() |
|
Works for version 7.1 as well. I don't understand the exact syntax but it is useful for seeing what happens in loops without having to put print statements, etc.
------------------------- Cliff Bly |
|
![]() |
|
![]() |
|
This is great! So now that we can generate a trace, does anyone know of a tool to aid in analyzing the trace?
Thanks! ------------------------- Shawn Stepper shawn.e.stepper@wellsfargo.com |
|
![]() |
|
![]() |
|
A few more tricks if anyones interested, not as useful as the "dxl Tracing" one though
1) Output a profile (gives you a list of the number of calls to various functions between the profile being switched on and switched off profile_(true) //do somthing profile_(false) printProfile_("c:\\Temp\\Tempprofile.txt") 2) Write your own debugging routine (can't figure out a good use for this one): - void MyDebugger(string TheFile, int TheLine) { print TheFile "\t" TheLine "\n" } setDebugCallback_(MyDebugger) setDebugging_(on) //do somthing setDebugging_(off) 3) dxl profiling, can't get this one to work, perhaps Telelogic haven't implemented it or I'm missing somthing startDXLProfiling_("C:\\temp\\profile2.txt") //do somthing stopDXLProfiling_ ------------------------- Regards, Richard Good |
|
![]() |
|
![]() |
|
I merged these calls desribed by Shawn into a single Debugging script.
Have no idea what the Profiling was about; but the two methods (#2 and #4) produce reports of the same format, but the ProfileTracingLog produces the same result each time; whereas the DXLProfiling report gets odds bigger each time; must be some sort of accumulation. Strategy [1] (DXLTracing) seems to be the only one worth anything. Looks like its the value of variables at each line when they are used, and the value of they are set with an = sign. - Louie |
|
![]() |
|
![]() |
|
The DXLTracing is very useful for seeing whats going on in loops as Cliff says, and I'm sure its saved me debugging time already.
I found the "dxltracing_" thing by accident, I was actually looking for a way to find out how long a program spent in each function so as to optimise the bottlenecks, thats what I understood profiling to be. Couldn't figure out a way to do this sensibly, although thats not to say there isn't a way. I know I can add code to time each suspect function but don't really want to go to this much trouble. I need to do somthing in "MyDebugger" to identify a line with a function so I can time each function. Any suggestions would be welcome. It's definately an interesting aside, if anyone finds out any more on this subject can you please post the results to this thread. ------------------------- Regards, Richard Good |
|
![]() |
Telelogic DOORS
» DXL Exchange
»
Debugging Tip
|
![]() |
FuseTalk Standard Edition v3.2 - © 1999-2009 FuseTalk Inc. All rights reserved.