Using Debugger Markup Language

Debugger commands can provide output in plain text or in an enhanced format that uses Debugger Markup Language (DML). Output that is enhanced with DML includes links that you can click to execute related commands.

The lmD command is an example of a command that is capable of providing DML output. The lmD command displays a list of loaded modules. As the following image shows, each module name is a link that you can click to get more detailed information about the module.

Screen shot of lmD output

The following image shows the result of clicking the usbuhci link. The output includes additional links that enable you to explore further details of the usbuhci module.

Screen shot of module details

DML defines a small set of tags that can be included in command output. One example is the <link> tag. You can experiment with the <link> tag (and other DML tags) by using the .dml_start and .browse commands. The command .browse .dml_start filepath executes the commands stored in a DML file. The output is displayed in the Command Browser window instead of the regular command window.

Suppose the file c:\DmlExperiment.txt contains the following lines.


My DML Experiment
<link cmd="lmD musb*">List modules that begin with usb.</link>

The following command displays the text and link in the Command Browser window.


.browse .dml_start c:\DmlExperiment.txt

Screen shot of DML file output

If you click the List modules that begin with usb link, you see output similar to the following image.

Screen shot of module list

The following commands (and one token) are capable of generating DML output:

The .prefer_dml command turns DML on or off. When DML is turned on, commands that are capable of generating DML output will generate DML output by default.

For a thorough discussion of DML and a complete list of DML tags, see dml.doc in the installation folder for Debugging Tools for Windows.

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft