Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Enabling the debugger displays a (debug) prompt, at which point various commands can be entered to control parsing and inspect Daffodil state. Below is the list of commands and their descriptions.

Commands

CommandShort CommandArgumentsDescriptionExample
break
b
<element_id>

Create a breakpoint, causing the debugger to stop when the element
with the <element_id> name is created.

break element.foo
clear
c Clear the screen
clear
condition
cond
<breakpoint_id> <dfdl_expression>

Set a condition on a specified breakpoint. When a

break point

breakpoint
is encountered, the debugger only pauses if the DFDL expression
evaluates to true. If the result of the DFDL expressions is not
a boolean value, it is treated as false.

condition 1 dfdl:occursIndex() = 3
continue
c 

Continue parsing the input data until a breakpoint is encountered. At
which point, pause parsing and display a debugger console to the user.

continue
delete
<breakpoint_id>
Delete a specified breakpoint.
delete 1
d
<type> <id>

Remove a breakpoint or display. Valid values for <type> are "breakpoint"
and "display".

delete breakpoint 1
delete display 1
disable
 dis
disable
<type> <id>

Disable a

specified

breakpoint or display.

To disable a breakpoint, set <type> to

Valid values for <type> are "breakpoint"

. To disable a display, set <type> to


and "display".

disable breakpoint 1
disable display 1
display
 di
<debugger command>

Execute a debugger command every time a debugger console is displayed
to the user.

display info infoset
enable
 e
<type> <id>

Enable a

specified

breakpoint or display.

To enable a breakpoint, set <type> to

Valid values for <type> are "breakpoint"

. To enable a display, set <type> to


and "display".

enable breakpoint 1
enable display 1
eval
 ev
[type] <dfdl_expression>

Evaluate a DFDL expression. The

<type>

[type] argument determines how to
display the result of the dfdl_expression.

<type> may

The value of [type] may
be "string", "number", "boolean", or "node". If

<type>

[type] is not

give

given,
then "node" is assumed."

eval number dfdl:occursIndex()
help
 h
[<command>]

Display help. If a command is given, display help information specific

help for


to that command and its subcommands.

help
help info
info
 
<item>...

Print various pieces of internal information to the console. The valid items are:

itemdescription
arrayIndexcurrent index of the element in an array
bitLimitcurrent bit limit
bitPositioncurrent bit position in the data
breakpointslist of breakpoints
childIndexcurrent child index
datainput data
discriminatorwhether or not a discriminator is set
displayslist of displays
infosetcurrent infoset
occursCountoccurs count
pathpath in the schema, using schema component designator
info data infoset
quit
  Immediately abort all processing.
quit
set
 
<setting> <value>

Change a debugger setting. The settings are:

SettingTypeDescription
dataLengthintegernumber of bytes to display when displaying input data. If negative, display all input data.
infosetLinesintegernumber of lines of the infoset to display. This displays the last X number of lines. If negative, display the entire infoset
removeHiddenbooleanwhether or not to remove hidden elements (via dfdl:hiddenGroupRef) when displaying the infoset
wrapLengthintegernumber of character at which to wrap data or infoset when printed to the console
set dataLength -1
set wrapLength 50
set removeHidden true
step
  Perform a single parse action, pause parsing, and display a debugger console to the user
step
undisplay
 
<display_id>
Remove a display created using the "display" command
undisplay 1