У меня ограниченный опыт работы с gdb и отладкой общих объектов в целом, поэтому мне интересно, может ли кто-нибудь пролить свет на поведение, которое я вижу.
В основном я пытаюсь понять внутренности плохо документированной библиотеки. С этой целью я написал программу, которая минимально использует библиотеку, и я пытаюсь пройти через нее, чтобы увидеть, что происходит.
Проблема в том, что после нескольких применений команды "step" в gdb программа выполняет более одной инструкции. Одна из причин, по которой я считаю это, заключается в том, что в конечном итоге gdb указывает, что были запущены три потока, но нигде в коде я не вижу, почему это могло произойти.
В прошлом я пытался перестроить библиотеку с помощью символов отладки, но, похоже, это не помогло мне. Я даже не уверен, имеет ли это значение, поскольку я думал, что gbd все еще может выполнять инструкции без символов отладки (даже если их отсутствие означало, что это дало бы мне меньше информации).
В случае, если это уместно: я отлаживаю трехстрочную программу, которую я написал, которая динамически связывается с интересующей библиотекой. У меня есть исходный код библиотеки, но он сложный, поэтому я надеялся, что gdb прольет свет на некоторые вещи.
Заранее спасибо!