diff options
Diffstat (limited to 'tde-i18n-ru/docs/tdevelop/tdevelop/debugger.docbook')
-rw-r--r-- | tde-i18n-ru/docs/tdevelop/tdevelop/debugger.docbook | 317 |
1 files changed, 68 insertions, 249 deletions
diff --git a/tde-i18n-ru/docs/tdevelop/tdevelop/debugger.docbook b/tde-i18n-ru/docs/tdevelop/tdevelop/debugger.docbook index cff2b7ab18e..6efa5e283d3 100644 --- a/tde-i18n-ru/docs/tdevelop/tdevelop/debugger.docbook +++ b/tde-i18n-ru/docs/tdevelop/tdevelop/debugger.docbook @@ -1,216 +1,85 @@ <chapter id="debugger"> -<title ->Интерфейс отладчика</title> -<indexterm zone="debugger" -><primary ->отладчик</primary -></indexterm> - -<para ->Для C и C++ &tdevelop; содержит встроенный отладчик, интегрированный с редактором. Технически это реализовано как внешний интерфейс для отладчика &GNU; <application ->gdb</application -> через каналы (pipe). Отладчик можно запустить несколькими способами: </para> +<title>Интерфейс отладчика</title> +<indexterm zone="debugger"><primary>отладчик</primary></indexterm> + +<para>Для C и C++ &tdevelop; содержит встроенный отладчик, интегрированный с редактором. Технически это реализовано как внешний интерфейс для отладчика &GNU; <application>gdb</application> через каналы (pipe). Отладчик можно запустить несколькими способами: </para> <itemizedlist> <listitem> -<para ->Через пункт меню <menuchoice -><guimenu ->Отладка</guimenu -><guimenuitem ->Запуск</guimenuitem -></menuchoice ->, после чего в отладчик загрузится главная программа вашего проекта. </para> +<para>Через пункт меню <menuchoice><guimenu>Отладка</guimenu><guimenuitem>Запуск</guimenuitem></menuchoice>, после чего в отладчик загрузится главная программа вашего проекта. </para> </listitem> <listitem> -<para ->Через пункт меню <menuchoice -><guimenu ->Отладка</guimenu -> <guimenuitem ->Запуск другого</guimenuitem -> <guimenuitem ->Загрузить файл core</guimenuitem -></menuchoice -> загрузится core-файл, генерируемый ядром системы после сбоя программы (это может быть выключено в вашей системе, см. <application ->ulimit(1)</application ->). Эта отладка полезна для анализа сбоев программы. </para> +<para>Через пункт меню <menuchoice><guimenu>Отладка</guimenu> <guimenuitem>Запуск другого</guimenuitem> <guimenuitem>Загрузить файл core</guimenuitem></menuchoice> загрузится core-файл, генерируемый ядром системы после сбоя программы (это может быть выключено в вашей системе, см. <application>ulimit(1)</application>). Эта отладка полезна для анализа сбоев программы. </para> </listitem> <listitem> -<para ->Через пункт меню <menuchoice -><guimenu ->Отладка</guimenu -> <guimenuitem ->Запуск другого</guimenuitem -> <guimenuitem ->Присоединить к процессу</guimenuitem -></menuchoice -> отладчик подстроится к уже запущенной программе. Вам нужно будет выбрать её из списка запущенных процессов. </para> +<para>Через пункт меню <menuchoice><guimenu>Отладка</guimenu> <guimenuitem>Запуск другого</guimenuitem> <guimenuitem>Присоединить к процессу</guimenuitem></menuchoice> отладчик подстроится к уже запущенной программе. Вам нужно будет выбрать её из списка запущенных процессов. </para> </listitem> <listitem> -<para ->Помните, что отладка возможна только если программа была скомпилирована с информацией для отладки. Это можно установить в диалоге <guibutton ->Параметры компилятора</guibutton ->. Информация для отладки помогает найти соответствие между именами файлов, строчками и адресами в программе. </para> +<para>Помните, что отладка возможна только если программа была скомпилирована с информацией для отладки. Это можно установить в диалоге <guibutton>Параметры компилятора</guibutton>. Информация для отладки помогает найти соответствие между именами файлов, строчками и адресами в программе. </para> </listitem> </itemizedlist> -<para ->Отладчик предлагает несколько видов информации о процессе: </para> +<para>Отладчик предлагает несколько видов информации о процессе: </para> -<para ->При попытке запуска отладки проекта без отладочной информации вы получите сообщение <computeroutput ->Нет исходного кода...</computeroutput -> в строке состояния. При установке точки останова, она будет показана в панели точек останова как <computeroutput ->В ожидании (добавление)</computeroutput -> (см. ниже). </para> +<para>При попытке запуска отладки проекта без отладочной информации вы получите сообщение <computeroutput>Нет исходного кода...</computeroutput> в строке состояния. При установке точки останова, она будет показана в панели точек останова как <computeroutput>В ожидании (добавление)</computeroutput> (см. ниже). </para> <variablelist> <varlistentry> -<term ->Переменные</term> +<term>Переменные</term> <listitem> -<indexterm zone="debugger" -><primary ->наблюдать переменные</primary -></indexterm> -<para ->Окно содержит список значений всех локальных переменных на текущей точке выполнения. </para> - -<para ->Можно наблюдать как локальные, так и глобальные переменные. Добавить переменную можно либо нажатием кнопки <guibutton ->Добавить</guibutton ->, либо нажатием клавиши <keycap ->Enter</keycap -> на выбранном пункте <guilabel ->Наблюдение</guilabel ->. Удалить их можно через контекстное меню. </para> +<indexterm zone="debugger"><primary>наблюдать переменные</primary></indexterm> +<para>Окно содержит список значений всех локальных переменных на текущей точке выполнения. </para> + +<para>Можно наблюдать как локальные, так и глобальные переменные. Добавить переменную можно либо нажатием кнопки <guibutton>Добавить</guibutton>, либо нажатием клавиши <keycap>Enter</keycap> на выбранном пункте <guilabel>Наблюдение</guilabel>. Удалить их можно через контекстное меню. </para> </listitem> </varlistentry> <varlistentry> -<term ->Фреймовый стек</term> +<term>Фреймовый стек</term> <listitem> -<indexterm zone="debugger" -><primary ->фреймовый стек</primary -></indexterm> -<para ->(... в процессе написания ...) </para> +<indexterm zone="debugger"><primary>фреймовый стек</primary></indexterm> +<para>(... в процессе написания ...) </para> </listitem> </varlistentry> <varlistentry> -<term ->Точки останова</term> +<term>Точки останова</term> <listitem> -<indexterm zone="debugger" -><primary ->точки останова</primary -></indexterm> -<para ->Данная панель позволяет просматривать и управлять точками останова. Для непосредственной отладки используется <application ->GDB</application ->, так что для полного понимания всех возможностей отладки &tdevelop; необходимо базовое представление о принципе работы <ulink url="http://www.gnu.org/software/gdb" ->GDB</ulink ->. </para> - -<para ->Исходный код, содержащий определение точек останова, находится в файле <filename ->tdevelop/languages/cpp/debugger/breakpoint.h</filename ->. </para> - -<para ->На левом краю панели имеются кнопки со следующими функциями:</para> +<indexterm zone="debugger"><primary>точки останова</primary></indexterm> +<para>Данная панель позволяет просматривать и управлять точками останова. Для непосредственной отладки используется <application>GDB</application>, так что для полного понимания всех возможностей отладки &tdevelop; необходимо базовое представление о принципе работы <ulink url="http://www.gnu.org/software/gdb">GDB</ulink>. </para> + +<para>Исходный код, содержащий определение точек останова, находится в файле <filename>tdevelop/languages/cpp/debugger/breakpoint.h</filename>. </para> + +<para>На левом краю панели имеются кнопки со следующими функциями:</para> <itemizedlist> -<listitem -><para ->Добавление пустой точки останова</para -></listitem> -<listitem -><para ->Изменение выбранной точки останова</para -></listitem> - <listitem -><para ->Удаление выбранной точки останова</para -></listitem> -<listitem -><para ->Удаление всех точек останова</para -></listitem> +<listitem><para>Добавление пустой точки останова</para></listitem> +<listitem><para>Изменение выбранной точки останова</para></listitem> + <listitem><para>Удаление выбранной точки останова</para></listitem> +<listitem><para>Удаление всех точек останова</para></listitem> </itemizedlist> -<para ->Основная часть панели - таблица с 7 столбцами. Каждой строке таблицы соответствует одна точка останова. Столбцы:</para> +<para>Основная часть панели - таблица с 7 столбцами. Каждой строке таблицы соответствует одна точка останова. Столбцы:</para> <orderedlist> -<listitem -><para ->Переключатель для выбора точек</para -></listitem> -<listitem -><para ->Тип: Ошибка, Файл:строка, Точка наблюдения, Адрес или Метод</para -></listitem> -<listitem -><para ->Статус:</para> +<listitem><para>Переключатель для выбора точек</para></listitem> +<listitem><para>Тип: Ошибка, Файл:строка, Точка наблюдения, Адрес или Метод</para></listitem> +<listitem><para>Статус:</para> <itemizedlist> - <listitem -><para ->Разрешена</para -></listitem> - <listitem -><para ->Запрещена: если точка останова запрещена, при отладке она пропускается.</para -></listitem> - <listitem -><para ->В ожидании (добавление): показывается при отсутствии отладочной информации. Из info-страницы GDB: <blockquote -><para ->Если указанное расположение точки останова найти не удалось, это может быть из-за того, что библиотека, в которой оно находится, ещё не загружена. В этом случае можно создать особую точку останова (<quote ->pending breakpoint</quote ->), действие которой откладывается до хагрухки необходимой библиотеки.</para -> </blockquote -> </para -></listitem> + <listitem><para>Разрешена</para></listitem> + <listitem><para>Запрещена: если точка останова запрещена, при отладке она пропускается.</para></listitem> + <listitem><para>В ожидании (добавление): показывается при отсутствии отладочной информации. Из info-страницы GDB: <blockquote><para>Если указанное расположение точки останова найти не удалось, это может быть из-за того, что библиотека, в которой оно находится, ещё не загружена. В этом случае можно создать особую точку останова (<quote>pending breakpoint</quote>), действие которой откладывается до хагрухки необходимой библиотеки.</para> </blockquote> </para></listitem> </itemizedlist> </listitem> -<listitem -><para ->В ожидании (очистка)</para -></listitem> -<listitem -><para ->В ожидании (изменение)</para -></listitem> -<listitem -><para ->Расположение в формате файл:строка</para -></listitem> -<listitem -><para ->Условие</para -></listitem> -<listitem -><para ->Счётчик игнорирования: если число <varname ->N</varname -> больше нуля, то в первые <varname ->N</varname -> раз при достижении точки останова выполнение программы остановленр не будет.</para -></listitem> -<listitem -><para ->Попадания: количество достижений точки останова.</para -></listitem> +<listitem><para>В ожидании (очистка)</para></listitem> +<listitem><para>В ожидании (изменение)</para></listitem> +<listitem><para>Расположение в формате файл:строка</para></listitem> +<listitem><para>Условие</para></listitem> +<listitem><para>Счётчик игнорирования: если число <varname>N</varname> больше нуля, то в первые <varname>N</varname> раз при достижении точки останова выполнение программы остановленр не будет.</para></listitem> +<listitem><para>Попадания: количество достижений точки останова.</para></listitem> </orderedlist> @@ -218,15 +87,10 @@ </varlistentry> <varlistentry> -<term ->Дизассемблирование</term> +<term>Дизассемблирование</term> <listitem> -<indexterm zone="debugger" -><primary ->дизассемблирование</primary -></indexterm> -<para ->(... в процессе написания ...)</para> +<indexterm zone="debugger"><primary>дизассемблирование</primary></indexterm> +<para>(... в процессе написания ...)</para> </listitem> </varlistentry> @@ -234,96 +98,51 @@ <sect1 id="settingbreakpoints"> -<title ->Установка точек останова</title> +<title>Установка точек останова</title> -<para ->(... в процессе написания ...) </para> +<para>(... в процессе написания ...) </para> -</sect1 -> <!-- settingbreakpoints --> +</sect1> <!-- settingbreakpoints --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1 id ="debuggeroptions"> -<title ->Параметры</title> +<title>Параметры</title> <variablelist> <varlistentry> -<term ->Отобразить обработанные имена</term> +<term>Отобразить обработанные имена</term> <listitem> -<indexterm zone="debugger" -><primary ->обработка имён</primary -></indexterm> -<indexterm zone="debugger" -><primary ->mangle</primary -><secondary ->имя</secondary -></indexterm> - -<para ->В программе, написанной на C++, имена функций изменяются (<quote ->mangled</quote ->), то есть к начальному имени функции добавляется информация о типах аргументов, которые она принимает. Это необходимо для перегрузки (overload) функций. Алгоритм такой обработки не стандартизован и имеет различные реализации даже в разных версиях компилятора &GNU; C++. </para> - -<para ->В окне дизассемблирования отображаются не изменённые имена, однако это можно изменить. </para> +<indexterm zone="debugger"><primary>обработка имён</primary></indexterm> +<indexterm zone="debugger"><primary>mangle</primary><secondary>имя</secondary></indexterm> + +<para>В программе, написанной на C++, имена функций изменяются (<quote>mangled</quote>), то есть к начальному имени функции добавляется информация о типах аргументов, которые она принимает. Это необходимо для перегрузки (overload) функций. Алгоритм такой обработки не стандартизован и имеет различные реализации даже в разных версиях компилятора &GNU; C++. </para> + +<para>В окне дизассемблирования отображаются не изменённые имена, однако это можно изменить. </para> </listitem> </varlistentry> <varlistentry> -<term ->Попробуйте установку точек останова по загрузке библиотеки</term> +<term>Попробуйте установку точек останова по загрузке библиотеки</term> <listitem> -<indexterm zone="debugger" -><primary ->"ленивые" точки останова</primary -></indexterm> -<indexterm zone="debugger" -><primary ->точки останова</primary -><secondary ->lazy</secondary -></indexterm> - -<para ->Отладчик <application ->gdb</application -> не разрешает устанавливать точки останова в коде, не загруженном в данный момент. В приложении с модульной структурой, где код загружается только по требованию (через функцию libc <function ->dlopen(3)</function ->). Возможность установки точек останова в библиотеках предоставляет &tdevelop;. Таким образом, точки останова ставятся в своеобразную очередь и передаются <application ->gdb</application -> только после загрузки необходимой библиотеки. </para> +<indexterm zone="debugger"><primary>"ленивые" точки останова</primary></indexterm> +<indexterm zone="debugger"><primary>точки останова</primary><secondary>lazy</secondary></indexterm> + +<para>Отладчик <application>gdb</application> не разрешает устанавливать точки останова в коде, не загруженном в данный момент. В приложении с модульной структурой, где код загружается только по требованию (через функцию libc <function>dlopen(3)</function>). Возможность установки точек останова в библиотеках предоставляет &tdevelop;. Таким образом, точки останова ставятся в своеобразную очередь и передаются <application>gdb</application> только после загрузки необходимой библиотеки. </para> </listitem> </varlistentry> <varlistentry> -<term ->Включить плавающую панель</term> +<term>Включить плавающую панель</term> <listitem> -<indexterm zone="debugger" -><primary ->панель инструментов отладчика</primary -></indexterm> -<indexterm zone="debugger" -><primary ->панель инструментов</primary -><secondary ->отладчик</secondary -></indexterm> - -<para ->(... в процессе написания ...) </para> +<indexterm zone="debugger"><primary>панель инструментов отладчика</primary></indexterm> +<indexterm zone="debugger"><primary>панель инструментов</primary><secondary>отладчик</secondary></indexterm> + +<para>(... в процессе написания ...) </para> </listitem> </varlistentry> </variablelist> -</sect1 -> <!-- debuggeroptions --> +</sect1> <!-- debuggeroptions --> -</chapter -> <!-- debugger --> +</chapter> <!-- debugger --> |