, чтобы показать, что в настоящее время находится в директории содержащих файлы символов.
Файлы символов автоматически считываются из этого каталога, если их имя (без пути) предоставляется двоичным кодом в терминах отладочной ссылки.
надстройка символ-файл имя_файл адреса
надстройка символ-файл имя файла адрес [-readnow] [- сопоставляются]
надстройку символ-файл имя_файла -ssection адрес ...
надстройка символ-файл команда считывает дополнительную информацию таблицы символов из файла имя файла. Вы должны использовать эту команду, когда имя файла было динамически загружено (другими способами) в запущенную программу. адрес должен быть адресом памяти, на котором был загружен файл; gdb не может понять это сам. Вы можете дополнительно указать произвольное количество пар «-ssection address», чтобы указать явное имя раздела и базовый адрес для этого раздела. Вы можете указать любой адрес в качестве выражения.
Таблицу символов файла имя файла добавляется в таблицу символов, первоначально прочитанную командой символьного файла. Вы можете использовать команду add-symbol-file любое количество раз; Таким образом, новые данные символа продолжают добавлять к старым. Чтобы отбросить все старые данные символа, используйте команду symbol-file без каких-либо аргументов.
Хотя имя файла обычно является файлом общей библиотеки, исполняемым файлом или каким-либо другим объектным файлом, который был полностью перемещен для загрузки в процесс, вы также можете загрузить символическую информацию из перемещаемых файлов .o, если:
- символическая информация к файлу относится только к символам компоновщика, определенных в этом файле, а не символов, определенных другими объектными файлами,
- каждый раздел символической информации к файлу относится к фактически был загружен в низшее, как кажется в файле и
- вы можете определить добавление которые были загружены в каждую секцию, и предоставить их команде add-symbol-file.
Некоторые встроенные операционные системы, такие как Sun Chorus и VxWorks, могут загружать перемещаемые файлы в уже запущенную программу; такие системы, как правило, упрощают выполнение требований выше. Тем не менее, важно признать, что многие собственные системы используют сложные процедуры ссылок (например, факторинг секции linklink и сборка компоновщика C++), что затрудняет выполнение требований. В общем случае нельзя предположить, что использование файла-символа-символа для чтения символической информации перемещаемого объектного файла будет иметь тот же эффект, что и обычный способ перемещения перемещаемого объектного файла в программу.
add-symbol-file не повторяется, если вы нажмете после его использования.
Вы можете использовать опции -readnow -mapped' and
так же, как с помощью команды symbol-file, чтобы изменить способ управления gdb информацией о таблице символов для имени файла.
Я пробовал это, но он не загружает файлы символов из указанной директории –
Вы загружаете bar.so динамически? Имеет ли он связь отладки? – alk
Да bar.so динамически связывается и не содержит символов. У меня есть файл символов bar.symbol –