Вы не упоминаете, какую версию GDB вы используете, но через некоторое время доступен параметр libthread-db-search-path
.
(gdb) set libthread-db-search-path /tmp
(gdb) start
Temporary breakpoint 1 at 0x400632: file threads.c, line 14.
warning: Unable to find libthread_db matching inferior's thread library, thread debugging will not be available.
сообщит GDB о поиске вспомогательной библиотеки (libthread-db.so
) в каталоге, где ее нет, поэтому многопоточная отладка не будет включена!
Я не уверен, что параллельные приложения OpenMPI являются многопроцессорными (в отличие от OpenMP, где они многопоточные), поэтому для вас это ничего не изменит.
РЕДАКТИРОВАТЬ : многопоточная отладка обычно включается только тогда, когда ваш процесс загружает libpthread.so
или эквивалент (ldd your-process
, чтобы проверить, связана ли она как общая библиотека), так что если вам это не нужно , может быть проблемой в вашем скрипте компиляции.