Darwin Kernel Debugging HOWTO

Rob Braun

Darwin Committer
Revision History
Revision 38 June 2002Ludovic Hirlimann [email protected]
Revision 28 June 2002Christopher Taylor [email protected]
Added ssh info
Revision 124 September 2000bbraun - [email protected]


This document will attempt to describe the steps necessary to debug the Darwin kernel with a remote machine.

Table of Contents

How do you get the experimental kernel to stop execution and wait for the remote debugger?
Debug boot Argument
Automating 2-machine debugging using SSH


The debugger system for the Darwin kernel uses two machines on the same ethernet segment. One machine is running the experimental Darwin kernel, and the other is running an Apple modified version of GDB. Right now, that means both machines must be Darwin (or MacOS X) machines. Apparently the modified GDB can be built under Linux. If anyone builds it, please let me know what the process was.

The experimental machine (running the kernel you wish to debug) will say Waiting for remote debugger connection on the console, and at this point you can connect to the kernel with the debugging machine (running Apple's gdb).