Interaction package

NB: Argument parsing show be written with the help of gdb.string_to_argv (https://sourceware.org/gdb/current/onlinedocs/gdb/Commands-In-Python.html#Commands-In-Python)

Module contents

Module proving GDB user commands for connection representationing.

mcgdb.interaction.cancel_stop_request(msg)[source]
mcgdb.interaction.clean_stop_requests(evt=None)[source]
class mcgdb.interaction.cmd_info_connection[source]

Bases: gdb.Command

Displays the links in place between the inferiors

invoke(arg, from_tty)[source]

Bases: gdb.Command

Displays the links in place between the inferiors

invoke(arg, from_tty)[source]
class mcgdb.interaction.cmd_mcgdb[source]

Bases: gdb.Command

invoke(arg, from_tty)[source]
mcgdb.interaction.initialize()[source]

Internal function.

class mcgdb.interaction.param_verbose[source]

Bases: gdb.Parameter

get_set_string()[source]
get_show_string(svalue)[source]
classmethod get_verbose(clazz, topic=None)[source]
mcgdb.interaction.preInitialize()[source]
mcgdb.interaction.proceed_stop_requests()[source]

Internal function. Tells if stop stop request were registered since the previous call. Logs the reasons, if any. Cleans the list afterwards.

Returns:True if GDB should stop the execution.
mcgdb.interaction.push_stop_request(msg=None)[source]

Register a stop request for the next stop-point.

Parameters:msg -- Reason for the execution stop, or None.
mcgdb.interaction.push_stop_requests(stop_next, msgs)[source]
Parameters:
  • stop_next -- if True, pushes a stop request with no message.
  • msgs (list(str)) -- messages to push in the stop requests.

Messages module

Module extending GDB's CLI with commands related to messages.

class mcgdb.interaction.messages.cmd_info_messages[source]

Bases: gdb.Command

Lists the messages stored in the different entities and links. Options: +|full Prints all checkpoints crossed by the message. #id* Prints only messages with given IDs

complete(text, word)[source]
invoke(arg, from_tty)[source]
class mcgdb.interaction.messages.cmd_message[source]

Bases: gdb.Command

Usage: message IDs+ {break|unbreak} Set a breakpoint on the operations handling this message.

invoke(arg, from_tty)[source]
mcgdb.interaction.messages.initialize()[source]

My gdb module

Module extending GDB's CLI with new general-purpose debugging commands.

class mcgdb.interaction.my_gdb.cmd_AllInfBreakpoint[source]

Bases: gdb.Command

invoke(args, from_tty)[source]
class mcgdb.interaction.my_gdb.cmd_comm_semantics_levels[source]

Bases: gdb.Command

Enable or disable some of the programming-model breakpoint, for instance to improve the performances.

Usage: communication semantics levels LEVEL {enable|disable}

See "info semantics levels" for more details about the breakpoints related to each level.

complete(text, word)[source]
invoke(args, from_tty)[source]
static list(func_type)[source]
class mcgdb.interaction.my_gdb.cmd_cont(name)[source]

Bases: gdb.Command

invoke(args, from_tty)[source]
class mcgdb.interaction.my_gdb.cmd_info_infthread[source]

Bases: gdb.Command

Refer to <function current_infthr at 0x7f819b913400>

invoke(args, from_tty)[source]
class mcgdb.interaction.my_gdb.cmd_info_semantics_levels[source]

Bases: gdb.Command

List the semantic breakpoints currently activated. e.g.: * General * Definition ---> NPM_init_v01 (1/0 hits) '1/0 hits' means that the breakpoint has been hit once, and 0 FinishBreakpoints were used.

See "communication semantics levels" to disable some of these breakpoints.

static browse(func_type, depth)[source]
invoke(args, from_tty)[source]
class mcgdb.interaction.my_gdb.cmd_mcgdb_autodetect[source]

Bases: gdb.Command

autodetect_enabled = False
invoke(args, from_tty)[source]
class mcgdb.interaction.my_gdb.cmd_mcgdb_detect[source]

Bases: gdb.Command

invoke(args, from_tty)[source]
class mcgdb.interaction.my_gdb.cmd_mcgdb_load_by_name[source]

Bases: gdb.Command

invoke(args, from_tty)[source]
class mcgdb.interaction.my_gdb.cmd_sn[source]

Bases: gdb.Command

invoke(args, from_tty)[source]
class mcgdb.interaction.my_gdb.cmd_start_time[source]

Bases: gdb.Command

invoke(args, from_tty)[source]
class mcgdb.interaction.my_gdb.cmd_stop_time[source]

Bases: gdb.Command

invoke(args, from_tty)[source]
class mcgdb.interaction.my_gdb.cmd_strong_next[source]

Bases: gdb.Command

invoke(args, from_tty)[source]
mcgdb.interaction.my_gdb.cont(evt)[source]
class mcgdb.interaction.my_gdb.gdb_start_command(cmd)[source]

Bases: gdb.Command

invoke(arg, from_tty)[source]
mcgdb.interaction.my_gdb.postInitialize()[source]

Target module

Module extending GDB's CLI with commands related to our target stack.

class mcgdb.interaction.target.cmd_comm_target[source]

Bases: gdb.Command

invoke(args, from_tty)[source]
class mcgdb.interaction.target.cmd_comm_target_switch(type_name, ttype, name, impl)[source]

Bases: gdb.Command

invoke(args, from_tty)[source]
class mcgdb.interaction.target.cmd_comm_target_x(name, ttype)[source]

Bases: gdb.Command

invoke(args, from_tty)[source]
mcgdb.interaction.target.initialize()[source]

Miscellaneous

Linux socket utils module

class mcgdb.interaction.linux_socket_utils.cmd_info_nettcp[source]

Bases: gdb.Command

Communication Socket prefix

invoke(args, from_tty)[source]
mcgdb.interaction.linux_socket_utils.initialize()[source]
mcgdb.interaction.linux_socket_utils.print_net_tcp(tcpfile=None)[source]