Транслировать адреса из обратной трассировки
![]() | Библиотека обратной трассировки не поддерживается из-за ее недостаточной надежности. |
#include <backtrace.h>void bt_translate_addrs( bt_memmap_t *memmap,bt_addr_t *addrs,int addrslen,bt_addr_t *reladdrs,bt_addr_t *offsets,int *index,char **filenames );
NULL
, или указатель на информацию об отображаемой памяти процесса, для которого была получена обратная трассировка. Используйте bt_load_memmap() для инициализации данной переменной.NULL
).NULL
, или массив, где функция может хранить адреса, как они заданы в объектных файлах.NULL
, или массив, где функция может хранить разницу между внутрифайловым адресом и адресом в памяти (то есть, offsets[0] = addr[0] - mod_addr[0]).NULL
, или массив, где функция может хранить индекс отображенной памяти для каждого адреса.NULL
, или массив, где функция может хранить the имя объектного файла для каждого адреса.
![]() | Имена файлов не копируются из отображенной памяти, так что они действительны только до тех пор, пока не освободится отображенная память. |
libbacktrace
Функция bt_translate_addrs() транслирует все адреса процессов в addrs. Допускается передача NULL-указателя
для любого из результирующих массивов, которые не потребуются.
ЗОСРВ «Нейтрино»
bt_get_backtrace(), bt_init_accessor(), bt_load_memmap(), bt_release_accessor(), bt_set_flags(), bt_sprn_memmap(), bt_sprnf_addrs(), bt_unload_memmap()
Примеры использования и сведения об архитектуре библиотеки доступны в разделе общие сведения.
pidin backtrace в Справочнике по Утилитам
Предыдущий раздел: Описание API библиотеки backtrace