When I compile and run my Delphi apps from the IDE, the debug output (from calls to OutputDebugString
) goes to the event log window of the IDE. When I run the compiled EXE stand-alone, the debug output goes to whatever debug viewer that is running.
I use DebugView++ to monitor the debug messages when running stand-alone. It's brilliant. Way faster than DebugView, and it has pretty powerful filtering and formatting capabilities (with RegExp pattern matching).
The Delphi event log viewer suffers from some major drawbacks:
- it has a significant impact on program performance
- it can't use a monospaced font (or that I have found anyway)
- there is minimal filtering (yes - you can color-code so that Thread messages are a different color to Breakpoint messages for example, but you can't do things like show debug output lines that match "Error:" with a red background. Filtering is also really important if the debug stream has lots of chaff that you want to ignore.
I want the best of both worlds. I want to run my program from the IDE (so I can break, step, inspect and modify variables, etc.), but I want the output to go to DebugView++. Is this possible?