Я строю проект ведьма cmake
.У меня есть один исполняемый файл и несколько .so
файлов, сгенерированных после make
.Файл .so
находится в каталоге dir build/lib
, а исполняемый файл - в каталоге dir build/bin
.
Мне нравится проект dir,
-main.cpp
-test.cpp
--cfd/cfd.cpp
cfd.cpp
генерировать cfd.so
и, наконец, он ссылается на исполняемый файл.
Я могу установить разрывы в некоторых файлах src, таких как main.cpp
, test.cpp
и т. д., но я не могу установить разрывы в связанном .so
исходный файл, например cfd.cpp
.
Я пробовал несколько методов, таких как,
- set LD_LIBRARY_PATH (или ldconfig [.so dir])
- setsolib-search-path
когда я запускаю gdb, программа может загрузить файл .so
.Я использую info shared
, вывод как ниже.
но я не могу установить разрывы на cfd.cpp
.Я использую команду b cfd.cpp:33
, строка 33
- это функция, которая вызывается в test.cpp.GDB выводит информацию следующим образом:
No source file named cfd.cpp.
Make breakpoint pending on future shared library load? (y or [n]
Может ли кто-нибудь помочь мне, спасибо.