Мне нужно импортировать анимацию из Maple в мою презентацию LaTeX / Beamer. Сохраняю файл в формате GIF. Но позже у меня возникают проблемы с преобразованием этого файла в PNG. Все, что у меня есть, это статический файл PNG, и я могу ' Вот что я получаю:
(gdb) print main
$3 = {int (int, char **)} 0x805ba90 <main>
(gdb) print sin
$4 = {<text variable, no debug info>} 0xb7701230 <sin>
(gdb) print gzopen
$5 = {<text variable, no debug info>} 0xb720df50 <gzopen>
(gdb) print dlopen
$6 = {<text variable, no debug info>} 0xb77248e0 <__dlopen_nocheck>
(gdb) print myfoo
No symbol "myfoo" in current context.
Как мне заставить GDB найти myfoo
?
Функция myfoo
действительно существует, потому что в программе мне удалось получить ее адрес используя dlsym
(после dlopen
), и мне удалось его вызвать. Только после этого я подключил GDB к процессу.
Оказалось, что было сообщение об ошибке mydir / mylib.so: Нет такого файла или каталога
, напечатанное с помощью attach $ PID
] команда GDB. Очевидно, GDB был запущен не в том каталоге. Правильный cd
перед запуском GDB устранил проблему, и print myfoo
начал работать.
Я бы хотел автоматизировать это: я хочу, чтобы GDB выяснил, где мой Файлы .so
(загруженные с dlopen
) имеют формат. Приближение, которое я могу придумать, - это изучить / proc / $ PID / maps
(в Linux), найти возможные каталоги и добавить их все в путь поиска библиотеки GDB перед запуском GDB. Расширение LD_LIBRARY_PATH
и выполнение set solib-search-path / tmp / parent
не сработало ( ls -l /tmp/parent/mydir/myfoo.so
действительно работает), GDB все же сообщил об отсутствии такого файла или каталога . Как мне сообщить GDB, где искать mydir / myfoo.so
?
Другой мой вопрос: как мне получить список возможных каталогов? В Linux их содержит / proc / $ PID / maps
, но как насчет других операционных систем, таких как FreeBSD и Mac OS X?