Register
Home Projects Help

DiagnosticTool

This article is under construction and is incomplete.
Since english is not the native language of the author, reviewers and correctors are welcome

DiagnosticTool is a tool designed to help SharpOS developpers for debugging the Kernel.
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.

SharpOS serial protocol

Available functions

Connection (fn_00)

Hello world (fn_01)

Memory dump (fn_02)

Unit tests results (fn_03)

Output debug string view

OutputDebug.jpg (40.5 KB) Cédric Rousseau, 02/14/2008

MemoryDump.jpg (98.6 KB) Cédric Rousseau, 02/14/2008

UnitTests.jpg (41.3 KB) Cédric Rousseau, 02/14/2008

Export to HTML, TXT