У меня есть ситуация, в которой я удаленно отлаживаю приложение, которое использует статическую библиотеку. Как статическая библиотека, так и приложение создаются с -g
флаг, и есть отладочные записи, показанные на objdump -t lib.a | grep debug
,
Однако отладчик останавливает только точки останова в функциях основного приложения, но игнорирует те, которые находятся в статической библиотеке. Я делаю оператор печати в lib, который выполняется, но точка останова в том же месте игнорируется. Исходный код lib также доступен. Я использую Qt Creator для интерфейса отладки.
У меня вопрос, есть ли способ отладки этой настройки? Может ли GDB напечатать некоторые сообщения журнала во время выполнения, которые могут указывать на ошибку?
что он говорит, когда вы устанавливаете точку останова? тип:
info b
и посмотрите, включены ли ваши точки останова. Если у вас включена оптимизация, код, на который вы ссылаетесь, может быть оптимизирован.