Символы флажка отладки:
d | Разрешает вывод из макроса DBUG_ для текущего состояния. Может сопровождаться списком ключевых слов, который разрешает вывод только для DBUG макрокоманд с соответствующим ключевым словом. Пустой список ключевых слов подразумевает вывод для всех макрокоманд. |
D | Ждать после каждой выведенной отладчиком строки. Аргумент задает число десятых долей секунды, которое нужно ждать. Например, -#D,20 задает паузу в 2 секунды. |
f | Ограничивает отладку и/или трассировку списком имен функций. Обратите внимание, что пустой список отключит все функции. Соответствующий флажок "d" или "t" должен все же быть дан, поскольку этот флажок только ограничивает их действие, если они включены. |
F | Идентифицируют имя исходного файла для каждой строки отладки или трассирует вывод. |
i | Идентифицируют процесс с pid для каждой строки отладки или трассирует вывод. |
g | Включить профилирование. Создайте файл 'dbugmon.out', содержащий информацию, которая может использоваться, чтобы профилировать программу. Может сопровождаться списком ключевых слов, которые выбирают профилирование только для функций в этом списке. Пустой список подразумевает, что все функции подлежат профилированию. |
L | Идентифицирует номер строки исходного файла для каждой строки отладки или трассирует вывод. |
n | Выводит текущую глубину вложенности функции для каждой строки отладки или трассирует вывод. |
N | Номер каждой строки вывода отладки. |
o | Переназначает выходной поток отладчика в файл. По умолчанию задан stderr. |
O | То же, что и o, но файл сбрасывается между записями. То есть, после каждой записи файл закрывается, и снова открывается только перед следующей записью. Тормозит, конечно, кошмарно, но зато гарантирует сохранность данных в этом файле на случай слета системы. Что при отладке не бесполезно... |
p | Ограничивает действия отладчика определенными процессами. Процесс должен быть указан в макросе DBUG_PROCESS и совпадать с одной из записей в списке действий отладчика. |
P | Выводит имя текущего процесса для каждой строки отладки или трассирует вывод. |
r | При установке нового состояния отладки не наследует предыдущее состояние вложенности функции. Полезно, когда вывод должен начаться в левом поле. |
S | Функция _sanity(_file_, _line_) для каждой отлаживаемой функции до _sanity() возвращает отличное от 0 значение. Обычно используется с safemalloc. Как задается это значение, и что оно вообще значит в документации не сказано (!!!), а опытным путем это установить не удалось. |
t | Включить функцию трассировки строк вызова и выхода (call/exit). Может сопровождаться списком, содержащим число номер максимального уровня трассировки, вне которого никакого вывода не произойдет для отладочных или трассировочных макрокоманд. Умолчание задается при компиляции. |
Некоторые примеры строк управления отладкой:
-#d:t -#d:f,main,subr1:F:L:t,20 -#d,input,output,files:n