как получить как можно больше от dbx - PullRequest
3 голосов
/ 21 октября 2008

Я делаю TDD ежедневно для своей разработки C ++ на Solaris10. Это значительно сократило время, которое я трачу на использование своего отладчика, но иногда это единственный вариант.

DBX довольно мощный, но не такой удобный для пользователя. Обратите внимание, что я говорю о консоли DBX, а не о графическом интерфейсе SunStudio для DBX).

Какие лучшие советы по производительности вы можете дать для отладки dbx C ++?

PS. Смена отладчика невозможна.

Ответы [ 3 ]

8 голосов
/ 21 октября 2008

Я добавил в закладки несколько сайтов, связанных с dbx. Вот они, в произвольном порядке, если они могут быть вам полезны:

РЕДАКТИРОВАТЬ на 19 июля 2012 года: я пытался исправить несколько ссылок, так как блог Криса Кенель переехал. Доступ к некоторым статьям возможен благодаря машине обратного хода.

1 голос
/ 31 октября 2008

Одной из мощных функций dbx является встроенный ksh. Вы можете написать функции оболочки, которые будут настолько сложными, насколько вы захотите напечатать настроенные представления структур данных, или следовать указателям по определенному маршруту. Оболочка - это старая разновидность pdksh, поэтому она не самая лучшая для программирования, но гораздо лучше, чем отсутствие встроенного языка. Существует также обширная помощь, доступная из командной строки. Одним из способов поиска справки является использование "vi $ helpfile" из командной оболочки dbx. Это позволяет редактировать необработанные данные справочного файла в одном большом файле. Вы можете увидеть некоторые примеры функций оболочки в файле dbxrc, который поставляется с dbx и загружается по умолчанию. Вы можете увидеть более сложный пример, посмотрев на модуль интеграции libumem. Вы можете найти его здесь:

http://blogs.oracle.com/quenelle/entry/using_dbx_and_libumem_to

1 голос
/ 21 октября 2008

У меня тоже есть , чтобы использовать dbx на работе и понять ваши разочарования!

Несколько советов, которые я обнаружил, которые делают мою жизнь немного легче:

Используя встроенную систему команд, как это: когда остановите {print что угодно ; }
Очевидно, не работает, когда независимо от того, находится вне области видимости, но я нахожу это достаточно полезным. Мне еще предстоит испытать большую радость от объекта «след», YMMV.

Создание собственного файла .dbxrc значительно облегчает жизнь, равно как и функция «pathmap».

Наконец, это очевидно только в том случае, если вы уже это знаете, но попробуйте Руководство по Sun .

Это не особенно хорошо написано, но все же необходимо прочитать.

...