В моей системе Linux я пишу программу, которая динамически загружает некоторые библиотеки .so при запуске. Это примерно так: исполняемая программа будет искать в определенном каталоге, когда она начнет работать, а затем загружать все файлы .so в этом каталоге. обратите внимание , что исполняемый файл и файл .so создаются независимо, а сборка исполняемого файла НЕ ссылается на файлы .so.
Моя проблема: после запуска программы (таким образом, все библиотеки .so были загружены) с подключенной GDB, Кажется, я могу установить точку останова для кода в файле .so (GDB подсказывает мне, что эта точка останова установлена в общей библиотеке), , но эта точка останова никогда не прерывается.
Как мне заставить эти контрольные точки действительно работать? Во время сеанса отладки у меня есть весь исходный код, доступный в нужных местах, и опция -g включена. Я также убрал оптимизацию -O2 при компиляции.