====== Start remote debugging ====== ===== Synopsis ===== gdbstub [...] ===== Examples ===== === Start remote debugging via serial port === gdbstub serial === Start remote debugging via net1 === gdbstub udp net1 ===== Description ===== Start remote debugging via the specified transport. Supported transports are: * ''serial'' - attach via a serial port * ''udp'' - attach via an (Ethernet) network interface using UDP You can attach a debugger using the ''target remote'' command within [[http://www.gnu.org/software/gdb/|gdb]]. For example, if you are debugging a build of ''ipxe.iso'' (which is built from ''ipxe.lkrn'') via the serial port ''ttyS0'', then you would use: gdb bin/ipxe.lkrn.tmp (gdb) set remotebaud 115200 (gdb) target remote /dev/ttyS0 If you are debugging via UDP to interface ''net1'', which is configured with the IP address 192.168.0.100, then you would use: gdb bin/ipxe.lkrn.tmp (gdb) target remote udp:192.168.0.100:43770 See the [[http://www.gnu.org/software/gdb/documentation/|gdb documentation]] for further information on debugging. ===== See also ===== * [[:cmd|List of all iPXE commands]] ===== Build options ===== This command is available only when the build options ''[[:buildcfg:GDBSERIAL]]'' or ''[[:buildcfg:GDBUDP]]'' are enabled. ===== Notes ===== You cannot have the iPXE serial console enabled at the same time as using the debugger via the serial port. You cannot use the debugger to step through real-mode portions of iPXE such as calls to the BIOS. You cannot use the debugger to step through the portions of iPXE that relate to communication with the debugger itself. For example, if you are debugging via UDP on network interface ''net1'', you cannot step through the iPXE driver that is driving ''net1''. If you are trying to debug an iPXE network driver, you should either use the serial port, or use a second network card that uses a different network driver.