| Command | Parameters | Description |
| list | (g|l|d|a|c) [ \ |
Shows some or all items of a specific type. The following items are supported: - g: command groups - l: log groups (only those encountered yet) - d: log groups with descriptions (only those that have descriptions) - a: asserts/crashes (only those hit yet) - c: checks (only those failed yet) If a pattern is specified only items matching that pattern are shown. A pattern can contain any character, letter, or a wildcard '*'. Please note that assert, crashes, and check items have their line number appended to the current file name, e.g. debug.cpp(13). Example: \code > list g debug > list l test* test test_log2 > list d test* test_log2: test log group w/ description \endcode |
| help | Shows help regarding debug group commands. Example: \code > help Help info debug group: ... \endcode | |
| io | [ \ \ |
Issues a I/O class command. I/O class commands are used for determining where all log output should be sent. Please check the list of \ref debug_ioclasses for a list of existing I/O classes. Each existing I/O class must accept at least the following two commands: 'add' and 'remove'. Parameters for these commands and additional commands are defined on this page: \ref debug_ioclasses If the command is entered without any parameters a list of active I/O classes is shown. Typing 'io ?' retrieves a list of possible I/O classes. Example: \code > io Active: flat (flat log file) ods (OutputDebugString) > io ods remove > io ? Possible: flat (flat/split log file) con (console window) ods (OutputDebugString) net (Network destination via named pipe) \endcode |
| alwaysflush | [ (+|-) ] | Enables/disables flushing after each new entry in the log file (default: off) Example: \code > alwaysflush + Flush: on \endcode |
| timestamp | [ (+|-) ] | Enables/disables timestamping each log entry (default: off). Example: \code > timestamp + Timestamping: on \endcode |
| exit | Exits program immediately. | |
| clear | (l|a|c) | Clears the given inclusion/exclusion list (l=logs, a=asserts/crashes, c=checks). |
| add | (l|a|c) (+|-) \ |
Adds a pattern to the given list (l=logs, a=asserts/crashes, c=checks). By default all asserts, crashes, and checks are active, all logs inactive. Each item is then checked against all pattern in the respective list. If a match is found the active/inactive state is modified accordingly (+ for active, - for inactive). The final state is always the last match. Example: \code > clear l > add l + test* > add l - *45* \endcode This would now enable logging on all log groups that start with 'test' but don't have '45' in the group name. |
| view | [ (l|a|c) ] | Shows the active pattern for the given list (l=logs, a=asserts/crashes, c=checks). |
| I/O Command | Parameters | Description |
| add | [ \ |
Adds the flat I/O class. If a filename is
specified all output is written to that file.
Otherwise the filename \ |
| copy | \ |
Copies generated log file(s) into the given directory if the program exists or crashes. If there is already a log file with the same name a unique number is appended to the current log files' name. |
| splitadd | \ |
Splits off part of the log data. Multiple splits can be defined. They are written out to the first matching split file. 'types' defines one or more string types which should be split off: - a: asserts/crashes - c: checks - l: logs - h: crash - x: exceptions - r: replies from commands - o: other messages Next a filter is specified that determines which items are to be filtered (only for string types a, c and l). Items can be listed with then 'list' command. The filter is exactly specified as in that command. The third parameter defines a name for this split. If there is already a split with the same name then both will write to the same destination file. Note: If splits are used and the filename given for 'add' is static then the split name is automatically appended to the log file name (before the extension). If a size is specified then all data is internally written to a fixed size memory based ring buffer. This data is flushed out once the program exits. If no size is given then the size of the log file is not limited and any log data is written out immediately. |
| splitview | Shows all existing splits in the order they are evaluated. | |
| splitremove | \ |
Removes all active splits matching the given name pattern. |
| I/O Command | Parameters | Description |
| add | % | Adds the console window as log output. A new console window is created (if it doesn't exist already). |
| I/O Command | Parameters | Description |
| add | % | %Debug output is sent via OutputDebugString. |
| I/O Command | Parameters | Description |
| add | \ |
Tells system which computer to connect to for
remote logging. By default this is the local
machine. The debug module tries to connect
to a named pipe \\\\\ |
| Command | Reply |
| list |
\ ... \ |
| help | regular reply format (unstructured) |
| io, io ? |
\ ... \ |
| io \ |
'1' CR (if command ok) '0' \ |
| alwaysflush |
'1' CR (if flush on) '0' CR (if flush off) |
| timestamp |
'1' CR (if timestamp on) '0' CR (if timestamp off) |
| exit | none |
| clear | none |
| add | none |
| view |
\ ... \ |