загрузка исходного кода GDB для общей библиотеки - PullRequest
3 голосов
/ 26 января 2011

Я использую GDB 7.2 на Ubuntu 10.10

, шагая с step, я попадаю в точку, которая выглядит (буквально) так:

0x00130a2c in boost::contexts::context::impl_t::impl_t(void (*)(void*), void*, unsigned int, boost::contexts::context::impl_t*, std::auto_ptr<boost::contexts::context::allocator_base>) () from /home/lurscher/third_party/boost_1_45_0/stage/lib/libboost_context.so.1.45.0

Итак, я хочу теперь связать соответствующие исходные файлы; что, вероятно, должно быть на /home/lurscher/third_party/boost_1_45_0/boost/context и /home/lurscher/third_party/boost_1_45_0/libs/context.

Но правда в том, что я не уверен, как этого добиться, прошли годы с тех пор, как мне пришлось отлаживать в терминальном режиме

Ответы [ 2 ]

4 голосов
/ 26 января 2011

Вы можете скомпилировать стороннюю библиотеку с символами отладки, и эти символы отладки будут цепочками [т.е., если ваше приложение скомпилировано с символами отладки, вы можете просмотреть и просмотреть строки исходного кода даже внутри библиотеки]

boost jam принимает аргумент отладки, который инструктирует его для создания отладочной версии.

в gcc, символы отладки - -g

1 голос
/ 26 января 2011

Если ваша библиотека скомпилирована в режиме отладки, но GDB просто не находит источники, вы должны использовать команду dir, чтобы добавить каталог источника в список поиска.

...