% cumulative self self totalThat would be helpful for finding bottlenecks in your code.
time seconds seconds calls ms/call ms/call name
17.7 3.72 3.72 13786208 0.00 0.00 Ns_DStringNAppend [8]
6.1 5.00 1.28 107276 0.01 0.03 MakePath [10]
2.9 5.60 0.60 1555972 0.00 0.00 Ns_DStringFree [35]
2.7 6.18 0.58 1555965 0.00 0.00 Ns_DStringInit [36]
2.3 6.67 0.49 1507858 0.00 0.00 ns_realloc [40]
[example pulled from random webpage]
-David R
On 1/18/06, Ralf Bokelberg <[EMAIL PROTECTED]> wrote:
> I slightly changed the rb_auto_trace option to include the current scope
> and the arguments. Also i added another option rb_auto_trace_pop, which
> is called, whenever a function is left. This way we are able to produce
> stacktraces now, using the following actionscript class
>
> /**
> * @author ralf bokelberg
> */
> class de.bokelberg.debug.AutoTraceStackManager {
> public static var stack:Array = new Array();
>
> public static function push(
> className:String,
> methodName:String,
> fileName:String,
> lineNumber:Number,
> scope:Object,
> arguments:FunctionArguments):Void
> {
> stack.push(arguments);
> }
>
> public static function pop(
> className:String,
> methodName:String,
> fileName:String,
> lineNumber:Number):Void
> {
> stack.pop();
> }
>
> public static function toString():String{
> return stack.join("\n");
> }
> }
>
> You also need to add the following parameters to your build script
> <arg value="-rb_auto_trace"/>
> <arg value="de.bokelberg.debug.AutoTraceStackManager.push"/>
> <arg value="-rb_auto_trace_pop"/>
> <arg value=" de.bokelberg.debug.AutoTraceStackManager.pop"/>
> <arg value="de/bokelberg/debug/AutoTraceStackManager" />
>
> Now you can test it in a try/catch for example:
>
>
> import de.bokelberg.debug.AutoTraceStackManager;
>
> /**
> * @author ralf bokelberg
> */
> class test.MainClass {
>
> public static function main( mc:MovieClip):Void{
> var m:MainClass = new MainClass();
> m.test();
> }
>
> public function test():Object{
> try {
> throw( new Error("hey"));
> return null;
> } catch( e:Error){
> trace(e.toString()
> + "\n"
> + AutoTraceStackManager.toString());
> }
> }
> }
>
> And if you run it, you should see something like this output
> (i partly replaced the path by ... below)
>
> hey
> test.MainClass,main,...ss.as,7,[type Function],_level0,
> test.MainClass,test,...ss.as,14,[object Object],
>
> Cheers,
> Ralf.
>
>
>
>
> _______________________________________________
> osflash mailing list
> [email protected]
> http://osflash.org/mailman/listinfo/osflash_osflash.org
>
_______________________________________________ osflash mailing list [email protected] http://osflash.org/mailman/listinfo/osflash_osflash.org
