The DebugTrace package is an attempt to design a better alternative to the built-in debugger .
DebugTrace uses no special hooks into Mathematica, instead it modifies the source code as it is presented to the kernel, to add the necessary hooks to allow the debugger to operate. This process imposes much less run-time overhead than TraceScan (used by M-Debug).
A Mathematica package to handle errors when calling a function with wrong arguments.
Gives informative feedback in form of an FailureObject when there are too litte, or too many or wrong arguments.