1

I want to study kernel debugging on macOS, and hence have tried to find official documentation for macOS Kernel Debugging.

Currently, I'm only able to find up-to-date or complete information on third-party blogs, but I'd rather read the original source.

Windows provide such information freely available as part on its site - doesn't Apple do the same?

3

Yes, Apple does the same...

You can read the documentation here:

https://developer.apple.com/library/archive/documentation/Darwin/Conceptual/KernelProgramming/build/build.html#//apple_ref/doc/uid/TP30000905-CH221-CIHBJCGC

7
  • Isn't that documentation heavily outdated? It doesn't even mention LLDB? – Shuzheng Sep 16 '19 at 7:59
  • Well, it is the official documentation you can read without having a developer account. If you want guides on lldb there’s many available, but this question was about the official documentation from Apple. You can use any debugger that supports KDP, but today the only really common is lldb yes. If you want to debug old versions of OS X, choices could be different. If you have a developer account, you can download the KDK from Apple that includes setups for lldb. – jksoegaard Sep 16 '19 at 12:21
  • thanks. I'd have hoped for a more low-level documentation on setting up the kernel for debugging, like configuring NVRAM etc. Such information is not present in the official documentation. Furthermore, what can I do, if my version of macOS is more recent than the KDK's available on the developer portal? It isn't possible to reverse macOS to an earlier version? – Shuzheng Sep 17 '19 at 6:23
  • Sure it’s possible - there’s nothing preventing you from installing older versions. If you want to run a newer kernel than you have KDKs for, you’ll need to recompile the kernel yourself. Usually it takes a while before Apple releases KDKs for new versions. – jksoegaard Sep 17 '19 at 11:32
  • If you have specific questions about configuring NVRAM or similar - just open a new question on this site. – jksoegaard Sep 17 '19 at 11:33

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .