Я хочу знать, как отлаживать внутренний источник такого файла. У меня есть такой файл, и я использую dlopen(), чтобы открыть его, затем я использую dlsym() для загрузки метода. Теперь я использую инструменты g++ с флагом -g, чтобы скомпилировать его. Он работает очень хорошо, однако я не могу войти в такой источник, используя команду gdb "next".
Если весь код скомпилирован с -g
(и что включает в себя код dlopen
-ed общий объект .so
файла и весь код основного dlopen
-ing программа), то вы можете шаг в зависимости от вашего плагин с gdb
(или даже добавить точку останова внутри).
Может быть полезно использовать совсем недавние версии компилятора GCC (например, 4.8) и отладчика GDB (т.е. 7.6). Оба они значительно улучшились и недавно по этим аспектам.
Кажется, вы смешиваете два разных способа запуска gdb. Здесь ссылка, объясняющая, как перебирать исходный код.
http://sourceware.org/gdb/onlinedocs/gdb/Continuing-and-Stepping.html
-ggdb
.