I'm currently trying to debug gnumach running on Qemu with GDB and i did the following
>qemu -s /path/to/image/hurd.img (Though QEMU docs said that : "In order to use gdb, launch qemu with the ā-sā option. It will wait for a gdb connection" , it didn't wait it simply launced grub and gave me the boot menu) then i did >gdb -s /path/to/gnumach/gnumach >(gdb) target remote localhost:1234 >Remote debugging using localhost:1234 >0x00008789 in ?? () >(gdb) break c_boot_entry >Breakpoint 1 at 0x100a90: file ../i386/i386at/model_dep.c, line 510. (then i choosed "hurd" in the grub boot menu it loads gnumach and then breaks at this break point.) >(gdb) break i386at_init >Breakpoint 2 at 0x100790: file ../i386/i386at/model_dep.c, line 322. >(gdb) continue >Continuing. (here the gnumach simply restarts giving me back the boot loader , as if it didn't even breaks at the second break point .. and continue simply blocks ) I can't also do "step" because it gives me "Cannot find bounds of current function" [Note , i'm debugging gnumach because it crashes and reboots after doing some modifications in the initialization phase .. and kdb isn't yet initialized]x
