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