NeCTI — The Kernel:IP system

Brief:

While figuring out how I could design my debugging protocol, I found out that I could simply give a kernel image and IP endpoint to where the running image is listening.

Why?

That let us validate when we want to break at a specific symbol and even evaluate what we can do with the running binary.

Example:

  • You run the debugger with the Kernel:IP argument.
  • You wait for the connection to establish.
  • And the debugger client and server will coordinate between each other in order to give a seamless debugging experience.

Note:

The debugging frames must be 255 bytes long, I plan to write specs for it, think of a GDB Serial Packet, but way leaner. Already did that in SNU, I'm now thinking of making an Open version in NeKernel.org instead.