For Programmers: Free Programming Magazines  


Home > Archive > Clipper > January 2006 > ANN: InsiderTools for Alaska Xbase++









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author ANN: InsiderTools for Alaska Xbase++
Eka Muratova

2006-01-10, 3:55 am


Hello All!

Eleus Software very happy to announce the InsiderTools library for
Xbase++!

InsiderTools is set of add-on tools for debugging, profiling,
diagnosting
and error checking.

List of features:

* Extended Fatal Error Handling

All possible information about crash (much much more then xppfatal.log)
stored in name&path configurable file.
Even show parameters for every function in callstack!

Fixed overwriting old xppfatal.log by new one.
Old file will be renamed to unique name (based on file date and time).

This is a chance to resolve fatal errors inside your apps.


* Extended Callstack API

It is waiting since Clipper times feature to get parameter of any
function
on callstack.
Yes, it here:
insider():ProcParam([deep][,parNo])!


* Extended Memory Information

Full set of statistics info about used memory and alloced variables.

Determining amount of used variables and its types very good tool to
find
memory consuming functions. Did you really know how much variables
alloced by
your code?

//print usage of types
types:="ABCDLMNOU"

mem:=insider():getMemorySnapshot()

a:=mem:varStat
For i:=1 To Len(types)
?types[i]+"=",a[i,1]," (+",a[i,2],"references)"
Next


* Xbase++ Aspect Oriented API

Profile, debug and advance your projects in Aspect Oriented way!

Wrapping of any function/method give new possibilities in debugging and
profiling.

Full control of parameters and return of wrapped code. Aspect advice
can be
called before and after adviced code.

//EXAMPLE: LOG PARAMETERS USING ADVICE FUNCTION

//make advice for single object
aspects():wrapMethod(oPayment,"checkPayment","logPayment")
...

Func logPayment(oAspect,lBefore)

If lBefore
?"object=",oAspect:getObject()
?" paymentPars=",oAspect:getParamA()
Else
?"paymentReturn=",oAspect:getReturn()
End

Return NIL


--
Eka Muratova,
www.eleussoft.narod.ru

Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com