There is a problem with CodeSite's method-tracing system that initially might not be very obvious.
The problem is when an exception occurs in a method, ExitMethod is not called. At first, this may seem like desirable behavior - until the code has traced methods to several levels deep. Then, it can become difficult to determine where the exception actually occurred without a lot of work in Delphi's debugger. CodeSite supports sending error messages but more code is needed to make it work right within the context of a specific method-trace: