Further more, if you are nosy, you can inspect any code by adding a debug.breakpoint (which I revamped also lately) and get a trace tree
- Code: Select all
# add a new bp object by using only one of the following lines
var myBP = debug.Breakpoint.new("description", 0); # no inital tokens, activate BP later via the property browser; won't monitor startup of FG but at runtime whenever you like
var myBP = debug.Breakpoint.new("description", 0).enable(10); # this will add 10 tokens for backtraces to the console; see hit() below
var myBP = debug.Breakpoint.new("description", 0).enableTracing(1000); # this will add 1000 (other separate) tokens for tracing statistics in the prop tree; see trace() below
# see property browser at /_debug/nas/bp-description/
#... at the line of interest (e.g. in an API or core lib function) add either
myBP.hit(); #print bt to console and add trace to prop tree
# or
myBP.trace(); #only add bt stats to prop tree
As long as there are tokens, the hit() will print backtraces to console and a tracer() will put a backtrace into the prop tree.
If you did trace() and provided tokens, goto /_debug/nas/bp-description/
Again you can set the dump-trace property to true and the listener will dump it to console and reset the dump-trace property.
The result is a backtrace statistic givinge filename[line] in a tree-ish view and how many hits where counted on that trace path.
- Code: Select all
text.nas[74]/group.nas[138]/group.nas[54]/group.nas[66]/group.nas[94]/hits {INT} = 1110
text.nas[74]/group.nas[138]/group.nas[54]/group.nas[66]/group.nas[94]/eicas-pri.nas[137]/hits {INT} = 477
text.nas[74]/group.nas[138]/group.nas[54]/group.nas[66]/group.nas[94]/eicas-pri.nas[137]/eicas-pri.nas[154]/hits {INT} = 159
text.nas[74]/group.nas[138]/group.nas[54]/group.nas[66]/group.nas[94]/eicas-pri.nas[137]/eicas-pri.nas[154]/eicas-pri.nas[175]/hits {INT} = 159
text.nas[74]/group.nas[138]/group.nas[54]/group.nas[66]/group.nas[94]/eicas-pri.nas[137]/eicas-pri.nas[155]/hits {INT} = 159
text.nas[74]/group.nas[138]/group.nas[54]/group.nas[66]/group.nas[94]/eicas-pri.nas[137]/eicas-pri.nas[155]/eicas-pri.nas[175]/hits {INT} = 159
text.nas[74]/group.nas[138]/group.nas[54]/group.nas[66]/group.nas[94]/eicas-pri.nas[137]/eicas-pri.nas[156]/hits {INT} = 159
text.nas[74]/group.nas[138]/group.nas[54]/group.nas[66]/group.nas[94]/eicas-pri.nas[137]/eicas-pri.nas[156]/eicas-pri.nas[175]/hits {INT} = 159
text.nas[74]/group.nas[138]/group.nas[54]/group.nas[66]/group.nas[94]/eicas-pri.nas[171]/hits {INT} = 631
text.nas[74]/group.nas[138]/group.nas[54]/group.nas[66]/group.nas[94]/eicas-pri.nas[171]/eicas-pri.nas[176]/hits {INT} = 631
text.nas[74]/group.nas[138]/group.nas[54]/group.nas[66]/group.nas[94]/eicas-fuel.nas[140]/hits {INT} = 1
text.nas[74]/group.nas[138]/group.nas[54]/group.nas[66]/group.nas[94]/eicas-fuel.nas[140]/globals.nas[119]/hits {INT} = 1
text.nas[74]/group.nas[138]/group.nas[54]/group.nas[66]/group.nas[94]/eicas-fuel.nas[72]/hits {INT} = 1
text.nas[74]/group.nas[138]/group.nas[54]/group.nas[66]/group.nas[94]/eicas-fuel.nas[72]/globals.nas[119]/hits {INT} = 1