]>
Commit | Line | Data |
---|---|---|
b0d623f7 A |
1 | This directory contains a universal DEBUG kernel, built for 32-bit and |
2 | 64-bit Intel. It includes a dSYM bundle for remote kernel debugging | |
3 | and live kernel debugging. | |
4 | ||
5 | INSTALLATION | |
6 | ||
7 | !!!WARNING!!! These steps will overwrite the default kernel and | |
8 | System.kext. Backup all files before attempting these steps. | |
9 | ||
10 | To install the DEBUG kernel, do: | |
11 | bash-3.2$ sudo -s | |
12 | bash-3.2# cd / | |
13 | bash-3.2# ditto /AppleInternal/Developer/Extras/Kernel\ Debugging/System.kext /System/Library/Extensions/System.kext | |
14 | bash-3.2# cp -r /AppleInternal/Developer/Extras/Kernel\ Debugging/mach_kernel* / | |
15 | bash-3.2# chown -R root:wheel /System/Library/Extensions/System.kext /mach_kernel* | |
16 | bash-3.2# chmod -R g-w /System/Library/Extensions/System.kext /mach_kernel* | |
17 | bash-3.2# touch /System/Library/Extensions | |
18 | bash-3.2# shutdown -r now | |
19 | ||
20 | REMOTE KERNEL DEBUGGING | |
21 | ||
22 | See the documentation that accompanies the Kernel Debug Kit | |
23 | ||
24 | LIVE KERNEL DEBUGGING | |
25 | ||
26 | With the DEBUG kernel installed, set "kmem=1" in your "boot-args" | |
27 | NVRAM variable, reboot, and do: | |
28 | ||
29 | bash-3.2$ sudo gdb -a <arch> --quiet /mach_kernel | |
30 | (gdb) target darwin-kernel | |
31 | (gdb) source /AppleInternal/Developer/Extras/Kernel\ Debugging/kgmacros | |
32 | Loading Kernel GDB Macros package. Type "help kgm" for more info. | |
33 | (gdb) attach | |
34 | Connected. | |
35 | ||
36 | <arch> should reflect the currently booted kernel architecture, either | |
37 | "i386" or "x86_64" | |
38 | ||
39 |