Hi czerny,
you can try to integrate the logging in debugreader, but if you do so consider that, due to handshaking, while the reader is processing the string the target program is stopped waiting for transaction to complete.
This means that more time takes the reader more slow runs the target program.
A solution could be a large circular buffer used as double buffering:
1) for each debug string copy immediatly the debug buffer in the circular buffer and release handshaking.
2) In another thread process strings in the circular buffer.
It is not easy anyway because you have to synchronize buffer access on multithreaded basis, and manage buffer overrun conditions that can happen.