You are viewing [info]pvantonov's journal

Previous Entry | Next Entry

Кодинг
В поисках IDE своей мечты недавно наткнулся на NetBeans. Поскольку большую часть программ я пишу с использованием Qt, то я очень трепетно отношусь к качеству поддержки этой библиотеке средой разработки. В NetBeans эта поддержка реализована очень качественно, не в пример лучше многих других IDE, однако абсолютно никак не решена проблема отображения Qt классов в отладчике. Вместо пары-тройки интересующих полей показываются все потроха объекта, а до той информации, которая действительна нужна, зачастую попросту невозможно добраться.
К сожалению, на уровне IDE эту проблему решить нельзя, однако на уровне gdb - легко. Но информация об этом крайне скупа и разбросана по всему интернету. В итоге на выполнение нескольких элементарных действий могут уйти часы. Пройдя через весь этот тернистый путь, я и решил написать данное руководство.

1) Необходимо запустить NetBeans со следующими параметрами:

-J-Dgdb.console.window=true -J-Dgdb.init.enable=true

Первый параметр активирует отображение консоли gdb при отладке, а второй - разрешает отладчику подгружать файл настроек .gdbinit

2) Файл .gdbinit должен находиться в домашней директории пользователя. С Linux'ом все понятно, а вот с Windows'ом - не очень. Оказывается в Windows gdb считает домашней папкой отнюдь не каталог пользователя в Documents & Settings. Домашняя папка - это та, котороя определена в переменной окружения HOME. Вот только такой переменной по умолчанию не существует, так что надо создать её руками.

3) Файл .gdbinit должен иметь именно такое имя, с точкой впереди. Однако Explorer не даст создать файл состоящий только из расширения. Придется пользоваться сторонними утилитами, например Total Commander

4) Ну и наконец о содержимом .gdbinit. Файл был взят из kdevelop и немного подредактирован (скачать). Он содержит определение команд gdb для отображения Qt классов. Конечно он не охватывает все множество объектов библиотеки Qt, но в качестве образца вполне сгодится

Tags:

Comments

( 1 comment — Leave a comment )
[info]anzgar wrote:
Jun. 15th, 2010 02:41 am (UTC)
NetBeans - вещь.
Я и на php писал в нём.
( 1 comment — Leave a comment )