MySQL

:: DEVELOPER ZONE

Login / Register

  • MySQL.com
  • Developer Zone
  • Partners
  • Online Shop
  • Downloads
  • Documentation
  • Forums
  • Lists
  • Bugs
  • Events
  • User Groups
  • Guilds
  • Blogs
  • Support
  • Resources
  • Books
  • FAQ

Справочное руководство по MySQL 4.0. :: E Перенос на другие системы :: E.3 Пакет DBUG

  • Overview
  • MySQL Reference Manual
  • MaxDB Documentation
  • Connectors

Search the MySQL manual:


  • Справочное руководство по MySQL 4.0.

  • E Перенос на другие системы
  • E.1 Отладка сервера MySQL
  • E.2 Отладка клиента MySQL
  • E.3 Пакет DBUG
  • E.4 Методы блокировки
  • E.5 Замечания по потокам RTS
  • E.6 Различия между разными потоковыми пакетами

Get the MySQL Language Reference and MySQL Administrator's Guide from MySQL Press!


Additional languages

  • German


Learn about new MySQL releases, technical articles, events and more.

Subscribe to the monthly MySQL Newsletter!


Previous / Next / Up / Table of Contents

E.3. Пакет DBUG

Сервер MySQL и большинство клиентов MySQL компилируются с пакетом DBUG, автором первой версии которого является Фред Фиш (Fred Fish). При конфигурации MySQL в отладочном режиме этот пакет дает возможность получить трассировочный файл для отладки программы. See Раздел E.1.2, «Создание трассировочных файлов».

Чтобы воспользоваться пакетом отладки, следует в вызове программы задать опцию --debug="..." или -#...

Большинство программ MySQL по умолчанию имеют отладочную строку, которая будет использована, если не задана опция --debug. По умолчанию трассировочный файл обычно находится в /tmp/имя_программы.trace под Unix и в \имя_программы.trace под Windows.

Строка управления отладкой представляет собой последовательность разделенных двоеточиями полей, как в следующем примере:

<field_1>:<field_2>:...:<field_N>

Каждое поле состоит из обязательного флагового символа, за которым следует необязательный символ "," и разделенный запятыми список модификаторов:

flag[,modifier,modifier,...,modifier]

В настоящее время распознаются следующие символы флагов:

Флаг Описание
d Разрешает вывод из макроса DBUG_<N> для текущего состояния. За этим флагом может следовать список ключевых слов. Если задан такой список, то из вывода макроса DBUG будет выбираться вывод только с данными ключевыми словами. Если задан пустой список ключевых слов, выбирается вывод всего макроса.
D Задает задержку вывода после каждой строки отладчика. Аргумент представляет собой количество десятых долей секунд задержки в соответствии с возможностями машины. Т.е. D,20 означает задержку в две секунды.
f Ограничивает отладку и/или трассировку и профайлинг только перечисленными в списке функциями. Обратите внимание: если задан нулевой список, то будут заблокированы все функции. Соответствующие флаги "d" или "t" должны также задаваться, данный флаг только ограничивает их действия, если они разрешены.
F Идентифицирует имя исходного файла для каждой строки вывода отладки или трассировки.
i Идентифицирует процесс указанием pid или идентификатором потока (thread id) в каждой строке вывода отладки или трассировки.
g Разрешает профайлинг. Создает файл с именем dbugmon.out, содержащий информацию, которую можно использовать для профайлинга программы. За этим флагом может следовать список ключевых слов; если такой список задан, то профайлинг будет применяться только для функций из этого списка. Если задан нулевой список ключевых слов, то профайлинг применяется ко всем функциям.
L Идентифицирует номер строки исходного файла для каждой строки вывода отладки или трассировки.
n Задает вывод глубины вложенности текущей функции для каждой строки вывода отладки или трассировки.
N Задает нумерацию каждой строки в выводе dbug.
o Переадресует выходной поток отладчика в указанный файл. По умолчанию вывод осуществляется в stderr.
O То же, что и o, но указанный файл сбрасывается на диск каждый раз между операциями записи. При необходимости этот файл закрывается и снова открывается каждый раз между операциями записи.
p Ограничивает действия отладчика указанным процессом. Процесс должен быть идентифицирован макросом DBUG_PROCESS и совпадать с указанным в списке для действий отладчика.
P Выводит имя текущего процесса для каждой строки вывода отладки или трассировки.
r Не наследовать уровень вложенности функции в предыдущем состоянии при переходе в новое состояние. Полезно, если вывод должен начинаться с левого поля.
S Выполнять функцию _sanity(_file_,_line_) для каждой отлаженной функции, пока _sanity() не возвратит значение, отличное от 0. (Главным образом используется совместно с safemalloc для определения утечек памяти).
t