У меня возникла ситуация, когда я удаленно отлаживаю приложение, использующее статическую библиотеку. Как статическая библиотека, так и приложение построены с флагом -g
, и есть отладочные записи, показанные на objdump -t lib.a | grep debug
.Debug gdb setup
Однако отладчик только останавливает точки останова в функциях основного приложения, но игнорирует их в статической lib. Я делаю заявление печати в lib, которое выполняется, но точка останова на том же месте игнорируется. Также доступен источник lib. Я использую создатель Qt для интерфейса отладки.
Вопрос в том, есть ли способ отладить эту настройку? Может ли gdb печатать некоторые сообщения журнала во время выполнения, которые могут указывать на ошибку?
Когда вы говорите: «Отладчик только замечает точки останова в главном приложении, но игнорирует те, что есть в статической lib», означает ли это, что вы можете установить точки останова в отладчике без сообщений об ошибках, но программа не делает, t останавливаться на этих контрольных точках? Или он останавливается на контрольных точках, но отладчик не идентифицирует причину остановки в качестве точки останова? –
@MarkPlotnick Я обновил вопрос. Отладчик не останавливается, хотя есть точка останова, и код в этом месте, безусловно, выполняется. – TheMeaningfulEngineer