Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

6. Tools

6.1. Отладчик GDB

GNU Debugger (GBD) — отладчик проекта GNU, который используется для отладки многих языков программирования, включая программы на C, C++, посредством их выполнения в контролируемом окружении и анализа полученных результатов.
Red Hat Enterprise Linux 5.5 включает в свой состав GDB 7.0.1. Подробный список обновлений этой версии можно найти в технических замечаниях.
Расширенная поддержка C++

Поддержка C++ в GDB была значительно улучшена. Основные изменения включают:

  • многочисленные улучшения разбора выражений;
  • улучшена обработка имен типов;
  • больше нет необходимости в излишних кавычках;
  • "next" and other stepping commands work properly even when the inferior throws an exception.
  • GDB has a new "catch syscall" command. This can be used to stop the inferior whenever it makes a system call.

Поддержка широких и многобайтовых символов

GDB теперь поддерживает широкие и многобайтовые символы.

Независимая отладка потоков

Thread execution now permits debugging threads individually and independently of each other; enabled by new settings "set target-async" and "set non-stop".

6.2. SystemTap

SystemTap is a tracing and probing tool that allows users to study and monitor the activities of the operating system (particularly, the kernel) in fine detail. It provides information similar to the output of tools like netstat, ps, top, and iostat; however, SystemTap is designed to provide more filtering and analysis options for collected information.
New Kernel Tracepoints

Tracepoints are placed in important sections of the kernel, allowing system administrators to analyze the performance of, and debug portions of code. In Red Hat Enterprise Linux 5.5, a wide range of tracepoints have been added to the kernel (BZ#475710), including tracepoints for networking (BZ#475457), coredump (BZ#517115) and signal (BZ#517121).

Примечание

A list of tracepoints available in the kernel can be obtained with:
stap -L 'kernel.trace("*")'|sort

Unprivileged mode

Previously, only users with root privileges were able to use SystemTap. This update introduces SystemTap's unprivileged mode, allowing non-root users to still use SystemTap. Detailed information on unprivileged man stap-client manpage.

Важно

Unprivileged mode is considered a Technology Preview in the Red Hat Enterprise Linux 5.5. The stap-server facility on which it relies is undergoing work for security improvements and should be deployed with care on a trustworthy network.
C++ Probing

The C++ program probing improvements also allows better probing of user-space programs.

6.3. Valgrind

Valgrind is used to monitor memory read, write, and allocation operations. The valgrind tool is frequently used by developers to diagnose and debug memory management problems.
Valgrind has been updated to version 3.5.0, providing enhanced support for a wide range of system architectures. This update introduces many improvements to performance, scalability and usability of the Valgrind. Notably, the usability and scalability of the Helgrind tool — which is used to detect race contiditions — has been improved. The leak checking capabilities of the Memcheck tool are also improved. Additionally, support for DWARF debugging information has been enhanced.