Описание тега dladdr
4
ответа
Имя переменной, аргументы функции во время выполнения в C
Можно ли узнать аргументы функций и типы имен переменных во время выполнения в C-программе? Например, если у меня есть функция: int abc(int x, float y , somestruct z ){ char a; int b ; } Могу ли я узнать внутри этой функции abc()какие имена аргумент…
15 сен '16 в 07:49
2
ответа
Как я могу получить больше информации о символе по его адресу в памяти
Я пытаюсь получить имя символа по его адресу в памяти. я использую int dladdr(void *addr, Dl_info *info) функция от dlfcn.h чтобы получить информацию: typedef struct { const char * dli_fname; / * Путь общего объекта, который содержит адрес */ void *…
14 мар '13 в 14:12
0
ответов
Адрес DL_info не совпадает с исполняемыми адресами
Я написал простую программу на C, которая использует объект DL_info для получения информации об адресе текущего фрейма функции, как показано ниже: #include <execinfo.h> #include <dlfcn.h> #include <stdio.h> int main(void) { void* c…
09 апр '18 в 14:51
0
ответов
dladdr не возвращает полный путь в dli_fname
Я использую dladdr, чтобы получить полный путь к библиотеке: Dl_info dl_info; int ret = dladdr((void*)&func, &dl_info); if (ret) // use dl_info.dli_fname; Работает нормально. Однако, если я переименую папку со сборкой (и затем запустлю снова…
19 мар '13 в 14:45
2
ответа
Получить список всех родных классов
Я хочу получить все собственные классы (NSString, NSNumber, int, float, NSSet, NSDictionary), которые я загрузил в свой проект iOS.. то есть, если я создал собственный класс с именем "TestClass", я не хочу, чтобы он был в списке... Я уже получил код…
10 окт '13 в 14:27
1
ответ
glibc - получить дескриптор разделяемой библиотеки, имеющей символ, содержащий указанный адрес
Что-то вроде dladdr, которое дает мне динамический дескриптор библиотеки для общего объекта или способ получить дескриптор из базового адреса общего объекта. Файл, содержащий общий объект, возможно, был перемещен или удален, поэтому нет, я не могу d…
25 апр '13 в 07:18
0
ответов
Почему dladdr возвращает путь к исполняемому файлу в позиционно-независимом коде на arm-linux?
Я столкнулся с проблемой с dladdr в некоторых моих кодах, которые я кросс-компилировал для arm-linux, используя кросс-компилятор Emdebian g++-4.7 для armhf. Кажется, проблема в том, что если указатель функции, который вы передаете в dladdr, является…
04 июн '14 в 18:40
1
ответ
Доза dladdr в состоянии получить информацию от статического члена?
При поиске какой-то библиотеки я нашел такой код Dl_info info = { NULL, NULL, NULL, NULL }; if (!dladdr((void*) dirSep, &info)) { return libPath.c_str(); } где dirSep является static const char* член в классе, где этот код присутствует (в функци…
18 фев '14 в 08:59
0
ответов
Адрес функции C++ - с использованием dladdr и backtrace()
Я хочу использовать backtrace () и получить адрес функции для цели трассировки. Я хочу сохранить адрес функции из backtrace () во время выполнения и использовать его для последующего анализа (например, загрузить имя функции назад, посмотреть статист…
23 дек '16 в 07:49
1
ответ
Имя функции, определенной в исполняемом файле (используя dladdr)
У меня есть программа (приложение, а не общая библиотека): void func() { int RESULT = UNW_ESUCCESS; unw_context_t context; unw_getcontext(&context); unw_cursor_t cursor; RESULT = unw_init_local(&cursor, &context); assert(RESULT == UNW_ES…
25 мар '19 в 12:36
1
ответ
В Linux, в программе на C++, как мне найти путь к загруженной разделяемой библиотеке?
Мне нужно загрузить функции из пользовательской библиотеки на встроенную платформу, в которой нет множества обычных инструментов (например, без ldd, без gdb и т. Д.). Я выполняю кросс-компиляцию для этой платформы. Предположим, я хочу использовать ф…
09 окт '19 в 20:43
1
ответ
Семантика памяти параметра dladdr() out
Какова семантика памяти dladdr()? #define _GNU_SOURCE #include <dlfcn.h> int dladdr(void *addr, Dl_info *info); typedef struct { const char *dli_fname; /* Pathname of shared object that contains address */ void *dli_fbase; /* Base address at w…
01 окт '20 в 20:13
0
ответов
C Как сделать так, чтобы статическая функция содержалась в .dynsym?
Задний план Я использую -finstrument-functions для отслеживания вызова функции в проекте ac. Я конвертирую адрес функции в имя функции с помощью dladdr. Он успешно записывает какой-то адрес в имя функции, но некоторые из них все еще не могут быть пр…
19 апр '21 в 13:12
0
ответов
Можно ли определить символ динамически, чтобы он мог быть найден dlsym?
Я хочу имитировать загрузку символов из общей библиотеки для целей тестирования. Есть ли способ программно определить символ во время выполнения, чтобы dlsymнайдет? Например: dl_define_symbol("foobar") .... void* f = dlsym("foobar",RTLD_NEXT); Вопро…
18 апр '22 в 11:02
0
ответов
Как напечатать имя исходного файла с помощью функции dladdr()?
Я пытался распечатать обратную трассировку, используяdladdr().info.dli_fnameв следующем фрагменте кода отображается имя файла ELF. Подскажите, пожалуйста, можно ли разрешить и напечатать имя исходного файла и номер строки программно без помощиaddr2l…
29 авг '22 в 03:23
1
ответ
Есть ли эквивалент GetModuleFileName() для Linux и как его использовать?
У меня есть функция в Windows для получения адреса модуля в buf: GetModuleFileName(0, buf, buf_size); Я хочу сделать то же самое в Linux (о котором я мало что знаю). Я нашел функциюdladdr(X, &dlInfo)который, кажется, делает правильную вещь. Как …
02 мар '23 в 14:44