Manual Page Search Parameters
DB_SHOW_ALIAS, DB_COMMAND, DB_ALIAS, DB_ALIAS_FLAGS, DB_COMMAND_FLAGS, DB_SHOW_ALIAS_FLAGS, DB_SHOW_ALL_ALIAS, DB_SHOW_ALL_COMMAND, DB_SHOW_COMMAND, DB_SHOW_COMMAND_FLAGS(9) Extends the ddb command set
DB_ALIAS, DB_COMMAND, DB_ALIAS_FLAGS, DB_COMMAND_FLAGS, DB_SHOW_ALIAS, DB_SHOW_ALIAS_FLAGS, DB_SHOW_ALL_ALIAS, DB_SHOW_ALL_COMMAND, DB_SHOW_COMMAND, DB_SHOW_COMMAND_FLAGS(9) Extends the ddb command set
DB_ALIAS_FLAGS, DB_COMMAND, DB_ALIAS, DB_COMMAND_FLAGS, DB_SHOW_ALIAS, DB_SHOW_ALIAS_FLAGS, DB_SHOW_ALL_ALIAS, DB_SHOW_ALL_COMMAND, DB_SHOW_COMMAND, DB_SHOW_COMMAND_FLAGS(9) Extends the ddb command set
DB_COMMAND, DB_ALIAS, DB_ALIAS_FLAGS, DB_COMMAND_FLAGS, DB_SHOW_ALIAS, DB_SHOW_ALIAS_FLAGS, DB_SHOW_ALL_ALIAS, DB_SHOW_ALL_COMMAND, DB_SHOW_COMMAND, DB_SHOW_COMMAND_FLAGS(9) Extends the ddb command set
DB_COMMAND_FLAGS, DB_COMMAND, DB_ALIAS, DB_ALIAS_FLAGS, DB_SHOW_ALIAS, DB_SHOW_ALIAS_FLAGS, DB_SHOW_ALL_ALIAS, DB_SHOW_ALL_COMMAND, DB_SHOW_COMMAND, DB_SHOW_COMMAND_FLAGS(9) Extends the ddb command set
DB_SHOW_ALIAS_FLAGS, DB_COMMAND, DB_ALIAS, DB_ALIAS_FLAGS, DB_COMMAND_FLAGS, DB_SHOW_ALIAS, DB_SHOW_ALL_ALIAS, DB_SHOW_ALL_COMMAND, DB_SHOW_COMMAND, DB_SHOW_COMMAND_FLAGS(9) Extends the ddb command set
DB_SHOW_ALL_ALIAS, DB_COMMAND, DB_ALIAS, DB_ALIAS_FLAGS, DB_COMMAND_FLAGS, DB_SHOW_ALIAS, DB_SHOW_ALIAS_FLAGS, DB_SHOW_ALL_COMMAND, DB_SHOW_COMMAND, DB_SHOW_COMMAND_FLAGS(9) Extends the ddb command set
DB_SHOW_ALL_COMMAND, DB_COMMAND, DB_ALIAS, DB_ALIAS_FLAGS, DB_COMMAND_FLAGS, DB_SHOW_ALIAS, DB_SHOW_ALIAS_FLAGS, DB_SHOW_ALL_ALIAS, DB_SHOW_COMMAND, DB_SHOW_COMMAND_FLAGS(9) Extends the ddb command set
DB_SHOW_COMMAND, DB_COMMAND, DB_ALIAS, DB_ALIAS_FLAGS, DB_COMMAND_FLAGS, DB_SHOW_ALIAS, DB_SHOW_ALIAS_FLAGS, DB_SHOW_ALL_ALIAS, DB_SHOW_ALL_COMMAND, DB_SHOW_COMMAND_FLAGS(9) Extends the ddb command set
DB_SHOW_COMMAND_FLAGS, DB_COMMAND, DB_ALIAS, DB_ALIAS_FLAGS, DB_COMMAND_FLAGS, DB_SHOW_ALIAS, DB_SHOW_ALIAS_FLAGS, DB_SHOW_ALL_ALIAS, DB_SHOW_ALL_COMMAND, DB_SHOW_COMMAND(9) Extends the ddb command set

DB_COMMAND(9) MidnightBSD Kernel Developer's Manual DB_COMMAND(9)

DB_COMMAND, DB_COMMAND_FLAGS, DB_SHOW_COMMAND, DB_SHOW_COMMAND_FLAGS, DB_SHOW_ALL_COMMAND, DB_ALIAS, DB_ALIAS_FLAGS, DB_SHOW_ALIAS, DB_SHOW_ALIAS_FLAGS, DB_SHOW_ALL_ALIASExtends the ddb command set

#include <ddb/ddb.h>

DB_COMMAND(command_name, command_function);

DB_COMMAND_FLAGS(command_name, command_function, flags);

DB_SHOW_COMMAND(command_name, command_function);

DB_SHOW_COMMAND_FLAGS(command_name, command_function, flags);

DB_SHOW_ALL_COMMAND(command_name, command_function);

DB_ALIAS(alias_name, command_function);

DB_ALIAS_FLAGS(alias_name, command_function, flags);

DB_SHOW_ALIAS(alias_name, command_function);

DB_SHOW_ALIAS_FLAGS(alias_name, command_function, flags);

DB_SHOW_ALL_ALIAS(alias_name, command_function);

The () macro adds command_name to the list of top-level commands. Invoking command_name from ddb will call command_function.

The () and () macros are roughly equivalent to DB_COMMAND() but in these cases, command_name is a sub-command of the ddb show command and show all command, respectively.

The (), (), and () macros register the existing command_function under the alternative command name alias_name.

The _FLAGS variants of these commands allow the programmer to specify a value for the flag field of the command structure. The possible flag values are defined alongside struct db_command in <ddb/ddb.h>.

The general command syntax: command[/modifier] address[,count], translates into the following parameters for command_function:

addr
The address passed to the command as an argument.
have_addr
A boolean value that is true if the addr field is valid.
count
The number of quad words starting at offset addr that the command must process.
modif
A pointer to the string of modifiers. That is, a series of symbols used to pass some options to the command. For example, the command will display words in decimal form if it is passed the modifier "d".

In your module, the command is declared as:

DB_COMMAND(mycmd, my_cmd_func)
{
	if (have_addr)
		db_printf("Calling my command with address %p\n", addr);
}

An alias for this command is declared as:

DB_ALIAS(mycmd2, my_cmd_func);

Then, when in ddb:


db> mycmd 0x1000 Calling my command with address 0x1000 db> mycmd2 0x2500 Calling my command with address 0x2500 db>

ddb(4)

This manual page was written by Guillaume Ballet <gballet@gmail.com>.

June 24, 2022 midnightbsd-4.0