Troubleshooting

  • GDB prints following errors:

  • Ingore packet error, continuing...
    Ingore packet error, continuing...
    Ingore packet error, continuing...
    Couldn't establish connection to remote target
    Malform response to offset query, timeout.
    • Using the serial port

      • Check whether the serial line speed given to KGDB is equal to the host serial speed.
        It is recommended to select the maximum speed supported by the port. For example, a baud rate of 115200 is recommended as lower rate.
        The minicom command can be use for setting the baud rate on to appropriate value (see below):

        minicom /dev/ttyS0

        To configure the serial port, press Control-A and then the function keys z and o.

    • Using the Ethernet support

      • Verify the kgdboe kernel command line option.

      • Check if you are using a wrong ethernet cable.
        The UTP network cables should be used if your target is connected to the network using a hub or switch.
        It is possible to connect the host and the target directly by using a crossover cable.

      Note 1: the ethernet support has been only tested connecting the development machine and the test machine at the same subnet.

      Note 2: if you still have problems and your network setup is correct, you could use, for example, the ethereal command (you need the root login) for browsing the network traffic.

  • A breakpoint does not get hit as expected: check whether you are using appropriate vmlinux file.
  • GDB is not able to get the symbols: check whether your kernel and modules are built with the debug option enabled.
  • GDB prints some invalid frames during the backtrace. This is beacuse GDB doesn't know where to stop a backtrace.
    GDB is not able to figure out the correct code line if it's in an assembly language file. At any rate, GDB is able to handle inline assembly code included in C files.

Known limitations of KGDB

  • Hardware watchpoints/breakpoints are not yet supported.