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-bits 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
- Configure the debugger specific options (for 64 bits only) in Debugger Options, Set specific 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: Linux 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 emtpy, the call
stack will be analyzed by Ida and not libunwind.