Транслировать адреса из обратной трассировки
Библиотека обратной трассировки не поддерживается из-за ее недостаточной надежности. |
#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