Unable to Debug Multi-Threaded Application with gdb Unable to Debug Multi-Threaded Application with gdb multithreading multithreading

Unable to Debug Multi-Threaded Application with gdb


warning: Unable to find libthread_db matching inferior's thread library

This means that your /lib/libthread_db.so.1 does not match your /lib/libpthread.so.0. Such mismatch could be the result of you installing different versions of libc and libthread_db packages, or updating one or the other outside of the package management system. It could also be an error in your packages (i.e. they may not be built correctly).

You should ignore /lib/.debug/* -- that is not the library you are looking for.


You are correct in trying to use

set libthread-db-search-path [path]

however, it seems you have still not pointed it at a version of libthread_db that is compatible with the pthreads library you're using.

First, check which pthread library you're linked to using ldd:

ldd your_executable

then make sure the libthread-db-search-path points to a location that has a compatible version of libthread_db with whatever libpthread you're getting. It could be that you're dynamic linker path is getting a different pthread library than you expect.