Difference between revisions of "IDE Window: Debugger Options/ru"

From Lazarus wiki
Jump to navigationJump to search
(Created page with "<noinclude>{{IDE Window: Debugger Options}}<!--- This page may be used as template in other pages ---></noinclude> == Общие == В этой статье описываю...")
 
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
<noinclude>{{IDE Window: Debugger Options}}<!--- This page may be used as template in other pages ---></noinclude>
 
<noinclude>{{IDE Window: Debugger Options}}<!--- This page may be used as template in other pages ---></noinclude>
 +
 +
{{Warning| This page is outdated. The setting dialog was changed. Options have been moved to new pages and/or the "project settings" }}
 +
<br/>
 +
 +
__toc__
  
 
== Общие ==
 
== Общие ==
 
В этой статье описываются настройки в меню Сервис/Параметры, относящиеся к отладчику.
 
В этой статье описываются настройки в меню Сервис/Параметры, относящиеся к отладчику.
  
<center>[[Image:Debugger_options_general.png]]</center>
+
<center>[[Image:debug_set_ru.png]]</center>
 
=== Тип отладчика и путь ===
 
=== Тип отладчика и путь ===
 
Выберите отладчик.  
 
Выберите отладчик.  
 
;None: Без отладчика. Простое выполнение программы.
 
;None: Без отладчика. Простое выполнение программы.
;GNU debugger (gdb): [[GDB/ru|GDB]] не является частью Lazarus. Если вы не используете Windows или Mac OS X (с Xcode), вы должны установить его самостоятельно. Вы должны задать путь к gdb (например /usr/bin/gdb) в расположенном ниже поле.
+
;GNU debugger (gdb): [[GDB|GDB]] не является частью Lazarus. Если вы не используете Windows или Mac OS X (с Xcode), вы должны установить его самостоятельно. Вы должны задать путь к gdb (например /usr/bin/gdb) в расположенном ниже поле.
 
;GNU debugger through SSH: для удаленной отладки. Вы можете использовать подключение по SSH к другому компьютеру и выполнять на нём gdb. Вам необходимо SSH-соединение без ввода пароля. См. в документации по SSH как это можно сделать. Данная функция имеет определенные ограничения. [[Remote_Debugging|Подробнее...]]
 
;GNU debugger through SSH: для удаленной отладки. Вы можете использовать подключение по SSH к другому компьютеру и выполнять на нём gdb. Вам необходимо SSH-соединение без ввода пароля. См. в документации по SSH как это можно сделать. Данная функция имеет определенные ограничения. [[Remote_Debugging|Подробнее...]]
 
;GDB remote debugger (gdbserver): для удаленной отладки.
 
;GDB remote debugger (gdbserver): для удаленной отладки.
Line 24: Line 29:
 
==== GNU debugger (gdb) ====
 
==== GNU debugger (gdb) ====
 
;Debugger_Startup_Options: Передача дополнительных аргументов в GDB. При обычном использовании этого не требуется. Это необходимо в том случае, если вы хорошо знаете GDB и желаете изменить его поведение. Использование этого параметра может помешать нормальной работе отладчика
 
;Debugger_Startup_Options: Передача дополнительных аргументов в GDB. При обычном использовании этого не требуется. Это необходимо в том случае, если вы хорошо знаете GDB и желаете изменить его поведение. Использование этого параметра может помешать нормальной работе отладчика
;DisableLoadSymbolsForLibraries: Prevent loading any symbols from libraries. (Must not be used, if debugging libraries). There are several gdb issues triggered by symbols loaded from libraries. If you get any error mention "solib", try setting this to true. Also see: [[GDB_Debugger_Tips#Known_Problems_.2F_Errors_reported_by_the_IDE]]
+
;DisableLoadSymbolsForLibraries: Предотвращает загрузку символьной информации из библиотек. (Нельзя использовать для отладки библиотек). Есть несколько проблем gdb, срабатывающих при загрузке символьной информации из библиотек. Если вы заметили ошибку "solib", попробуйте установить этот параметр в '''true'''. См. также: [[GDB_Debugger_Tips#Known_Problems_.2F_Errors_reported_by_the_IDE]]
;EncodeCurrentDirPath/EncodeCurrentFilePath: Experimental. Those option affect the quoting of certain path/filenames when they are given to GDB. Changing the option to the wrong value will stop the debugger from working.
+
;EncodeCurrentDirPath/EncodeCurrentFilePath: Экспериментальный параметр. Этот параметр влияет на определенные пути/имена файлов, когда они передаются в GDB. Изменение параметра на неверное значение остановит отладчик и приведет его в неработоспособное состояние.
;InternalStartBreak: Changes the way the debugger detects your applications, main entry point. It is advised to leave this at default. Other values may be tried, if the debugger report an error "<i>The debugger could not set a breakpoint on the application''s entry point</i>".
+
;InternalStartBreak: Изменяет способ, которым отладчик обнаруживает ваши приложения, главную точку входа. Рекомендуется оставить это по умолчанию. Другие значения могут быть опробованы, если отладчик сообщает об ошибке "<i>The debugger could not set a breakpoint on the application''s entry point</i> (<i>Отладчик не смог установить точку останова на точке входа приложения</i>)".
;MaxDisplayLengthForString: For any string (pchar) gdb reads a maximum as specified by this setting. GDB always terminates at the 1st zero. GDB does not really handle pascal strings well.
+
;MaxDisplayLengthForString: Для любой строки (pchar) GDB читает максимум, как указано в этом параметре. GDB всегда останавливается на 1-ом ноле. GDB на самом деле не очень хорошо обращается с паскалевскими строками.
;UseAsyncCommandMode: Mainly supported by gdbserver. Setting should be used for any remote debugging (gdbserver/gdb over ssh). See gdb documentation for "set target async". IF supported by gdb, can also be used for local debugging.
+
;UseAsyncCommandMode: В основном поддерживается gdbserver. Настройка должна использоваться для любой удаленной отладки (gdbserver/gdb через ssh). Смотрите документацию GDB для "set target async". ЕСЛИ поддерживается GDB, также может использоваться для локальной отладки.
;WarnOnInternalError: Default true. If set to False, internal errors by gdb will be ignored by the IDE. Yet that does not change, that gdb did have an internal error, and that debugging may report incorrect data, or dis-behave in anyway. Neither will it prevent follow up error. It simple skips informing the user, yet fixes nothing. Leave on true, unless you get repeatedly the same internal error, and have tested well, that it does not affect you. (Then the warning dialog would be annoying, and you may want to skip it)
+
;WarnOnInternalError: По умолчанию true. Если установлено значение False, IDE будет игнорировать внутренние ошибки GDB. Тем не менее, это не меняет того факта, что у GDB случилась внутренняя ошибка, и что отладка может сообщать о неверных данных или в любом случае не работать. Также это не предотвратит последующую ошибку. Он просто пропускает информирование пользователя, но ничего не исправляет. Оставьте значение true, если только вы не неоднократно получаете одну и ту же внутреннюю ошибку и хорошо проверили, что она не влияет на вас. (Тогда диалоговое окно предупреждения будет раздражающим, и вы можете пропускать его).
;TimeOutForEval/WarnOnTimeOut: Read [[GDB_Debugger_Tips#TimeOuts]]
+
;TimeOutForEval/WarnOnTimeOut: Читайте [[GDB_Debugger_Tips#TimeOuts]]
  
 
== Журнал событий ==
 
== Журнал событий ==
<center>[[Image:Debugger_options_eventlog.png]]</center>
+
<center>[[Image:debug_set_log_ru.png]]</center>
  
 
=== Общие ===
 
=== Общие ===
Eventually logging info should go the the [[IDE Window:Event Log|event log]], for now it is show in the [[IDE Window: Debug Output|debug output]] window.
+
В конечном счете информация должна передаваться в [[IDE Window:Event Log|журнал событий]], но сейчас она отображается в окне [[IDE Window: Debug Output/ru|вывода сообщений отладчика]].
  
* '''Clear log on run''': clear the event log, on each start of the program.
+
* '''Очищать журнал при запуске''': очищать журнал событий при каждом запуске программы.
* '''Limit line count to''': keep only the last lines of output.
+
* '''Ограничить число строк''': сохранять только последние строки выходных сообщений.
  
 
=== Сообщения ===
 
=== Сообщения ===
  
The Messages window is usually positioned below the source editor and shown, when building the project. It shows the compiler output and can show the output of external tools.
+
Окно сообщений обычно помещается ниже окна редактора кода и показывает процесс сборки проекта. В нем отображается вывод сообщений компилятора, а также может отображаться вывод сообщений внешних утилит.
  
 
[[File:IDEMessagesWindowFind1.png]]
 
[[File:IDEMessagesWindowFind1.png]]
  
See [[IDE_Window:_Messages|IDE Window: Messages]].
+
См. [[IDE_Window:_Messages|IDE Window: Сообщения]].
  
 
== Исключения языка ==
 
== Исключения языка ==
<center>[[Image:Debugger_options_language_exceptions.png]]</center>
+
<center>[[Image:debug_set_lang_ru.png]]</center>
  
 
Программы могут вызывать исключения. Например, когда файл не может быть прочитан. Настройте если необходимо, чтобы отладчик останавливался на исключении.
 
Программы могут вызывать исключения. Например, когда файл не может быть прочитан. Настройте если необходимо, чтобы отладчик останавливался на исключении.
Line 62: Line 67:
  
 
== Исключения ОС ==
 
== Исключения ОС ==
<center>[[Image:Debugger_options_os_exceptions.png]]</center>
+
<center>[[Image:debug_set_os_ru.png]]</center>
  
 
=== Сигналы ===
 
=== Сигналы ===
 
(не реализовано)
 
(не реализовано)
  
Defines if signals should be handled by the debugger or by the user program. For instance, an div by zero is first signalled by the OS. Then the FPC RTL translates this to an EDivByZero. When the signal is handled by the debugger, the program is stopped before the RTL translates this message. Currently the debugger always stops on a signal.
+
В данной настройке определяется, должны ли сигналы обрабатываться отладчиком или программой пользователя. Например, деление на ноль сначала сигнализируется операционной системой. Затем FPC RTL переводит этот сигнал в EDivByZero. Когда сигнал обрабатывается отладчиком, выполнение программы останавливается до перевода сообщения RTL. На данный момент отладчик всегда останавливается на сигналах.
  
 
== См. также ==
 
== См. также ==
* [[Debugger Setup]]
+
* [[Debugger Setup|Установка отладчика]]

Latest revision as of 12:47, 4 September 2022

Deutsch (de) English (en) español (es) français (fr) português (pt) русский (ru)

Warning-icon.png

Предупреждение: This page is outdated. The setting dialog was changed. Options have been moved to new pages and/or the "project settings"


Общие

В этой статье описываются настройки в меню Сервис/Параметры, относящиеся к отладчику.

debug set ru.png

Тип отладчика и путь

Выберите отладчик.

None
Без отладчика. Простое выполнение программы.
GNU debugger (gdb)
GDB не является частью Lazarus. Если вы не используете Windows или Mac OS X (с Xcode), вы должны установить его самостоятельно. Вы должны задать путь к gdb (например /usr/bin/gdb) в расположенном ниже поле.
GNU debugger through SSH
для удаленной отладки. Вы можете использовать подключение по SSH к другому компьютеру и выполнять на нём gdb. Вам необходимо SSH-соединение без ввода пароля. См. в документации по SSH как это можно сделать. Данная функция имеет определенные ограничения. Подробнее...
GDB remote debugger (gdbserver)
для удаленной отладки.

Дополнительный путь поиска

Вы можете добавить дополнительные директории для поиска исходных файлов с именами, содержащимися в отладочной информации исполняемого файла. Это используется для всех проектов.

Общие параметры отладчика

Показывать сообщение при остановке
включите эту опцию для показа уведомления при остановке приложения.
Сбрасывать отладчик после каждого запуска
IDE держит GDB запущенным и повторно использует его. Если вы используете устаревшую версию GDB, которая не поддерживает эту опцию, то вы можете запускать каждый раз новый экземпляр GDB для запуска отладки.

Частные параметры отладчика

Каждый тип отладчика обладает особенными параметрами.

GNU debugger (gdb)

Debugger_Startup_Options
Передача дополнительных аргументов в GDB. При обычном использовании этого не требуется. Это необходимо в том случае, если вы хорошо знаете GDB и желаете изменить его поведение. Использование этого параметра может помешать нормальной работе отладчика
DisableLoadSymbolsForLibraries
Предотвращает загрузку символьной информации из библиотек. (Нельзя использовать для отладки библиотек). Есть несколько проблем gdb, срабатывающих при загрузке символьной информации из библиотек. Если вы заметили ошибку "solib", попробуйте установить этот параметр в true. См. также: GDB_Debugger_Tips#Known_Problems_.2F_Errors_reported_by_the_IDE
EncodeCurrentDirPath/EncodeCurrentFilePath
Экспериментальный параметр. Этот параметр влияет на определенные пути/имена файлов, когда они передаются в GDB. Изменение параметра на неверное значение остановит отладчик и приведет его в неработоспособное состояние.
InternalStartBreak
Изменяет способ, которым отладчик обнаруживает ваши приложения, главную точку входа. Рекомендуется оставить это по умолчанию. Другие значения могут быть опробованы, если отладчик сообщает об ошибке "The debugger could not set a breakpoint on the applications entry point (Отладчик не смог установить точку останова на точке входа приложения)".
MaxDisplayLengthForString
Для любой строки (pchar) GDB читает максимум, как указано в этом параметре. GDB всегда останавливается на 1-ом ноле. GDB на самом деле не очень хорошо обращается с паскалевскими строками.
UseAsyncCommandMode
В основном поддерживается gdbserver. Настройка должна использоваться для любой удаленной отладки (gdbserver/gdb через ssh). Смотрите документацию GDB для "set target async". ЕСЛИ поддерживается GDB, также может использоваться для локальной отладки.
WarnOnInternalError
По умолчанию true. Если установлено значение False, IDE будет игнорировать внутренние ошибки GDB. Тем не менее, это не меняет того факта, что у GDB случилась внутренняя ошибка, и что отладка может сообщать о неверных данных или в любом случае не работать. Также это не предотвратит последующую ошибку. Он просто пропускает информирование пользователя, но ничего не исправляет. Оставьте значение true, если только вы не неоднократно получаете одну и ту же внутреннюю ошибку и хорошо проверили, что она не влияет на вас. (Тогда диалоговое окно предупреждения будет раздражающим, и вы можете пропускать его).
TimeOutForEval/WarnOnTimeOut
Читайте GDB_Debugger_Tips#TimeOuts

Журнал событий

debug set log ru.png

Общие

В конечном счете информация должна передаваться в журнал событий, но сейчас она отображается в окне вывода сообщений отладчика.

  • Очищать журнал при запуске: очищать журнал событий при каждом запуске программы.
  • Ограничить число строк: сохранять только последние строки выходных сообщений.

Сообщения

Окно сообщений обычно помещается ниже окна редактора кода и показывает процесс сборки проекта. В нем отображается вывод сообщений компилятора, а также может отображаться вывод сообщений внешних утилит.

IDEMessagesWindowFind1.png

См. IDE Window: Сообщения.

Исключения языка

debug set lang ru.png

Программы могут вызывать исключения. Например, когда файл не может быть прочитан. Настройте если необходимо, чтобы отладчик останавливался на исключении.

Игнорировать эти исключения

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

Прерываться на исключениях Lazarus

Снимите флажок если не хотите, чтобы Lazarus останавливался на любом исключении

Исключения ОС

debug set os ru.png

Сигналы

(не реализовано)

В данной настройке определяется, должны ли сигналы обрабатываться отладчиком или программой пользователя. Например, деление на ноль сначала сигнализируется операционной системой. Затем FPC RTL переводит этот сигнал в EDivByZero. Когда сигнал обрабатывается отладчиком, выполнение программы останавливается до перевода сообщения RTL. На данный момент отладчик всегда останавливается на сигналах.

См. также