I had one of those AHA moments this morning. The whole question about
multithreaded tracing can be quite cleanly resolved by removing the
question from the TRACE command entirely.

Currently, the trace output is written to the .TRACEOUTPUT monitor. With a
few small enhancements to already existing classes, it would be possible
for any additional information to be added by the TRACEOUPUT target. To
enable it, one would only need to push a new output destination to the
monitor. The new destination would add any additional debug information to
the trace lines. This is not only pretty simple, but it also means any user
can customize the trace information to their own requirements, though it
would be nice to supply a couple of builtin alternatives.

The enhancements necessary to do this are pretty simple. The StackFrame
class already has most of the information you need for debugging, but it
could use methods to expose a threadid, instance id, and also the current
GUARD status in the case of method calls. This can be quite easily done,
and would provide useful debug information for more than just the trace
output. It might be desirable to add the same methods to .Context. I can go
either way with that one.

Rick
_______________________________________________
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel

Reply via email to