I just released NetDebugPlot, a tool to debug and visualize program internals. It’s a basic real-time line chart viewer that can get connected to a local or remote program via NetDebugLog.
Here is the feature list:
- Real-time line charts
- Scale time and Y axis with scroll mouse or text boxes
- Each series has its own color
- Pause chart (data continues to be received)
- Save chart to .jpg image
- Change client’s port number
NetDebugLog is an open source C++ client for NetDebugPlot (GitHub project page). There are 1 .cpp and 1 .h files to include in a project to make it all work. It consists of a TCP client, a couple configuration and logging functions. It’s currently implemented with Winsock and QueryPerformanceCounter (high resolution timer) and could easily be ported to other platforms.
Here is how to use it:
#include <iostream> #include "NetDebugLog/NetDebugLog.h" int main(int argc, char* argv[]) { static int delay = 33; // Those are default //SetNetLogIPAddress("127.0.0.1"); //SetNetLogPort(13000); //SetNetLogEnabled(false); srand(0); while (true) { float val1 = (float)((rand() % 25)*(rand() % 2 == 0?1:-1)); float val2 = val1 + (float)(rand() % 25); NetLog(val1); NetLog("test", val2); Sleep(delay); } return 0; }
More screenshots with various series and zoom levels / time scales: