Previous: Variables, Up: Kernel Debugger


11.4 Expressions

Almost all expression operators in C are supported except ~, ^, and unary &. Special rules in ddb are:

identifier
name of a symbol. It is translated to the address(or value) of it. . and : can be used in the identifier. If supported by an object format dependent routine, [file_name:]func[:line_number] [file_name:]variable, and file_name[:line_number] can be accepted as a symbol. The symbol may be prefixed with symbol_table_name:: like emulator::mach_msg_trap to specify other than kernel symbols.
number
radix is determined by the first two letters:
0x
hex
0o
octal
0t
decimal

otherwise, follow current radix.

.
dot
+
next
..
address of the start of the last line examined. Unlike dot or next, this is only changed by examine or write command.
last address explicitly specified.
$variable
register name or variable. It is translated to the value of it. It may be followed by a : and modifiers as described above.
a
multiple of right hand side.
*expr
indirection. It may be followed by a : and modifiers as described above.