DiagnosticTool
This article is under construction and is incomplete.
Since english is not the native language of the author, reviewers and correctors are welcome
It consists of two parts:
- A server that runs in the kernel. It awakes whenever a command is received.
- A WinForm front-end application that runs on the VM host. It sends command to the server and collect data.
In addition, the client collects all debug strings that are send by the Kernel.
This tool is not intended to be a debugger. It aims only to access internal structures and data.
It is planned to implement into the kernel some debugging functions, like breakpoints, instruction step, ...
In parallel, well-known kernel-debuggers (GNU gdb, MS windbg, ...) protocols will be added.
Development notes
Client/server communication
The kernel sends output debug messages in the COM1 port.DiagTool server receives commands and reply via the COM2 port.
Client is connected to the VM host and communicates with the server through two named pipes:
- SharpOS-Log is linked to COM1 and is read-only.
- SharpOS-Control is routed to COM2 and can be read or written.