bt_sprnf_addrs()

Форматировать адреса из обратной трассировки


Note: Библиотека обратной трассировки не поддерживается из-за ее недостаточной надежности.

Прототип:

#include <backtrace.h>
int bt_sprnf_addrs( bt_memmap_t *memmap,
bt_addr_t *addrs,
int addrslen,
char *fmt,
char *out,
size_t outlen,
char *separator );

Аргументы:

memmap
NULL, или указатель на информацию об отображаемой памяти процесса, для которого была получена обратная трассировка. Используйте bt_load_memmap() для инициализации данной переменной.
addrs
Массив адресов для форматирования.
addrslen
Количество записей в массиве addrs.
fmt
Формат для каждой записи.
out
Указатель на область памяти, где функция может хранить форматированный вывод.
outlen
Длина out, в байтах.
separator
NULL, или указатель на разделитель, который требуется записать между форматированными адресами.

Библиотека:

libbacktrace

Описание:

Функция bt_sprnf_addrs() форматирует адреса addrs, используя формат fmt для каждой записи, и сохраняет форматированные адреса в out. Если разделитель separator не NULL, то функция запишет его в out между каждым форматированным адресом.

Аргумент memmap опционален, но если он указан, то он позвоялет получить доступ к большему числу стилей форматирования. Формат для каждой записи (fmt) аналогичен printf():


Note: Для форматов %l, %o, %f, и %I, memmap не должен быть NULL.

Возвращаемое значение:

Количество адресов из addr, которые могут быть полностью форматированы и записаны в out.

Классификация:

ЗОСРВ «Нейтрино»

Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Да

Тематические ссылки:

bt_get_backtrace(), bt_init_accessor(), bt_load_memmap(), bt_release_accessor(), bt_set_flags(), bt_sprn_memmap(), bt_translate_addrs(), bt_unload_memmap()

Примеры использования и сведения об архитектуре библиотеки доступны в разделе общие сведения.

pidin backtrace в Справочнике по Утилитам




Предыдущий раздел: Описание API библиотеки backtrace