This is yet another command that has powerful capabilities. It’s very flexible, too.
You can use different parameters combinations; though, I recommend you look at or check the WinDbg documentation if you want to explore other variations.
Again I’m going to show you the variations I use most of the time.
Notice that some parameters may not display information if you are using public symbols; others work with public and private symbols.
Displays the data type of each symbol if the data type is known.
Displays the symbol type (local, global, parameter, function, or unknown) of each symbol. This option also displays the size of each symbol. The size of a function symbol is the size of the function in memory. The size of other symbols is the size of the data type that the symbols represent. Size is always measured in bytes and displayed in hexadecimal format.
Displays only those symbols that have a size, in bytes, equal to the value of Size. The size of a function symbol is the size of the function in memory. The size of other symbols is the size of the data type that the symbols represent. Symbols whose size cannot be determined are always displayed. Size must be a nonzero integer.
Displays symbol names in quoted format.
Omits the space before the opening parenthesis when the debugger displays a function name and its arguments. This kind of display can make it easier to copy function names and arguments from the x display to another location.
Sorts the display by address in ascending order.
Sorts the display by name in ascending order.
Sorts the display by size in ascending order.
A few examples:
Displays all symbols for the specified module.
x /t /v /n <module>!*
Displays all symbols for the specified module, plus the data type, symbol type, and sorts by name in ascending order.
Here you can see scripts that use the x command.