Linux debugger

The Linux debugger has the following particularities and limitations:

  • The debugger server can handle only one IDA client at a time

  • By default, the 64-bit debugger will try to load "libunwind-x86_64.so.8" and "libunwind-ptrace.so.0" in order to help with stack recovery.

  • ARMLinux: hardware breakpoints are not supported

  • ARMLinux: The THUMB mode is not supported

Configuration options

Debugger-specific options can be changed from Debugger -> Debugger options -> Set specific options.

The linux debugger has the following configuration options:

  • Path to libunwind

    • "libunwind-x64_64.so.8" (the default) - the debugger will try to load libunwind "libunwind-x86_64.so.8" + "libunwind-ptrace.so.0" pair using the regular 'ld' search path.

    • "libunwind-x64_64.so" (note the lack of ".8" at the end) - like the default, except the debugger will look for "libunwind-x86_64.so" and "libunwind-ptrace.so" (this is particularly useful for working with libunwind "dev" packages)

    • absolute path to "libunwind-x64_64.so.8" or "libunwind-x64_64.so" - the debugger will try to load libunwind only from the provided path.

    • absolute path to "libunwind-x64_64.so[.8]" - the debugger will try to load the two libraries from there (the absolute path to "libunwind-ptrace.so[.0]" will be derived from that of "libunwind-x64_64.so[.8]")

    • left blank - don't use libunwind to collect stack traces

    By default this is set to libunwind-x86_64.so meaning the default path will be used to load libunwind-x86_64.so(.8) and libunwind-ptrace.so(.0). If an absolute path is provided, both libraries will be loaded from this path. If left empty, the call stack will be analyzed by IDA and not libunwind.

See also:

Last updated

Was this helpful?