2008-11-26 6 views
1

Я хочу отладить приложение в Linux. Приложение создано на C++. GUI создается с использованием QT. Графический интерфейс связан со статической библиотекой, которая может рассматриваться как обратная сторона приложения.Отладка приложения в Linux

Я хочу отлаживать статическую библиотеку, но не знаю, как это сделать.

Я попытался с помощью GDB

gdb GUI 

Но как я могу прикрепить библиотеку?

У кого-нибудь есть опыт в отладке библиотек в Linux?

ответ

7

gdb автоматически отлаживает функции в библиотеке при их вызове. просто назовите его, как

gdb ./foo 
run 

:). Убедитесь, что вы создали foo с флагами отладки (-g3 включит все материалы для отладки для gcc :). Вы не должны оптимизировать при отладке (переходите не более -O1 в gcc, не оптимизируйте дальше). Это может запутать отладчик.

2

Вы можете попробовать KDbg, DDD - Отображение данных отладчика Code::Blocks

Ulike DDD, другие IDE с отладчик интегрирован но ядро ​​отладчик [GDB] остается тем же в этих IDE. единственное, что вы получите овальное представление представления отладчика в графическом интерфейсе.

Также попробуйте Eclipse + CDT pluggin. это также хорошо.

5

Если вы хотите отлаживать сам код библиотеки, вам нужно будет создать библиотеку с флагом компилятора -g (а также создать исполняемый файл с -g как litb pointed out). В противном случае gdb будет хорошо разбираться в вашем коде, но будет раздавать руки каждый раз, когда вы делаете вызов библиотеки.

1

Незначительная альтернатива gdbtui, которая использует интерфейс на основе проклятий.

0

Вы также можете использовать Kdbg или ddd

Смежные вопросы