Шрифт:
GDB понимает С и С++, включая поддержку восстановления имен (name demangling), что означает, что вы можете использовать для функций-членов классов и перегруженных функций обычные имена исходного кода С++. В частности, GDB распознает синтаксис выражений С, что полезно при проверке значения сложных выражений, таких, как '
Если вы работаете на системе GNU/Linux или BSD (и установили средства разработки), у вас, вероятно, уже установлена готовая к использованию последняя версия GDB. Если нет, исходный код GDB можно загрузить с FTP-сайта проекта GNU для GDB [165] и самостоятельно его построить.
GDB поставляется с собственным руководством, которое занимает 300 страниц. В каталоге исходного кода GDB можно сгенерировать печатную версию руководства и самостоятельно его распечатать. Можно также купить в Free Software Foundation (FSF) готовые печатные экземпляры; ваша покупка поможет FSF и непосредственно внесет вклад в производство большего количества свободного программного обеспечения. (Информацию для заказа см. на веб-сайте FSF) [166] . Данный раздел описывает лишь основы GDB; мы рекомендуем прочесть руководство, чтобы научиться использовать все преимущества возможностей GDB.
165
166
15.3.1. Запуск GDB
Основное использование следующее:
Здесь исполняемый файл является отлаживаемой программой. Имя файла дампа, если оно имеется, является именем файла
167
Если вы хотите изменить такое поведение, см. sysctl(8) — Примеч. автора.
Если вы забыли указать в командной строке имена файлов, для сообщения GDB имени исполняемого файла можно использовать '
При наличии дампа ядра GDB указывает место завершения программы. Следующая программа,
Вот небольшой сеанс GDB с этой программой: