In C++ expressions, each symbol is interpreted according to its type. Depending on what the symbol refers to, this will be the address of a global variable, local variable, function, segment, module, or any other recognized label. In MASM expressions, each symbol is interpreted as an address. As far as symbols are concerned, these two forms of syntax differ as follows: The debugger understands two different kinds of expressions: Microsoft Macro Assembler (MASM) expressions and C++ expressions. This means that the presence of a myInt and a MyInt in your program will not be correctly understood by the debuggers any command that references one of these may access the other one, regardless of how the command is capitalized. Symbol names are completely case-insensitive. However, to specify that a symbol is local, precede it with a dollar sign ( $ ) and an exclamation point ( ! ), as in $!lime. For example, the variable fade will be read by the dt (Display Type) command as an address, unless it is prefixed by an exclamation mark or the -n option is used. Using an exclamation mark with no module name can be especially useful, even for local variables, to indicate to a debugger command that a parameter is a name and not a hexadecimal number. If no module name is used, the symbol can still be prefixed with an exclamation mark. An exclamation mark ( !) separates the module name from the symbol (for instance, mymodule!main). General Symbol Syntax RulesĪ symbol name consists of one or more characters, but always begins with a letter, underscore ( _), question mark ( ?), or dollar sign ( $).Ī symbol name may be qualified by a module name. In addition to general rules for symbol syntax, there are also symbol syntax rules that apply in each of these cases. This is supported for most numerical parameters, and is also supported in some text parameters. In many cases, symbols can be used as parameters in debugger commands. For example, you can set a breakpoint at the function main with the command bp main, or display the integer variable MyInt with the command dd MyInt L1. Symbols allow you to directly manipulate tokens that are used by the program being debugged.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |