GDB (xrefs)
Loading...
Searching...
No Matches
Classes | Typedefs | Functions | Variables
scm-breakpoint.c File Reference
#include "defs.h"
#include "value.h"
#include "breakpoint.h"
#include "gdbcmd.h"
#include "gdbthread.h"
#include "observable.h"
#include "cli/cli-script.h"
#include "ada-lang.h"
#include "arch-utils.h"
#include "language.h"
#include "guile-internal.h"
#include "location.h"

Go to the source code of this file.

Classes

struct  gdbscm_breakpoint_object
 

Typedefs

typedef struct gdbscm_breakpoint_object breakpoint_smob
 

Functions

static size_t bpscm_free_breakpoint_smob (SCM self)
 
static const char * bpscm_type_to_string (enum bptype type)
 
static const char * bpscm_enable_state_to_string (enum enable_state enable_state)
 
static int bpscm_print_breakpoint_smob (SCM self, SCM port, scm_print_state *pstate)
 
static SCM bpscm_make_breakpoint_smob (void)
 
static int bpscm_want_scm_wrapper_p (struct breakpoint *bp, int from_scheme)
 
static void bpscm_attach_scm_to_breakpoint (struct breakpoint *bp, SCM containing_scm)
 
static int bpscm_is_breakpoint (SCM scm)
 
static SCM gdbscm_breakpoint_p (SCM scm)
 
static SCM bpscm_get_breakpoint_arg_unsafe (SCM self, int arg_pos, const char *func_name)
 
static breakpoint_smobbpscm_get_breakpoint_smob_arg_unsafe (SCM self, int arg_pos, const char *func_name)
 
static int bpscm_is_valid (breakpoint_smob *bp_smob)
 
static breakpoint_smobbpscm_get_valid_breakpoint_smob_arg_unsafe (SCM self, int arg_pos, const char *func_name)
 
static SCM gdbscm_make_breakpoint (SCM location_scm, SCM rest)
 
static SCM gdbscm_register_breakpoint_x (SCM self)
 
static SCM gdbscm_delete_breakpoint_x (SCM self)
 
static void bpscm_build_bp_list (struct breakpoint *bp, SCM *list)
 
static SCM gdbscm_breakpoints (void)
 
static SCM gdbscm_breakpoint_valid_p (SCM self)
 
static SCM gdbscm_breakpoint_enabled_p (SCM self)
 
static SCM gdbscm_set_breakpoint_enabled_x (SCM self, SCM newvalue)
 
static SCM gdbscm_breakpoint_silent_p (SCM self)
 
static SCM gdbscm_set_breakpoint_silent_x (SCM self, SCM newvalue)
 
static SCM gdbscm_breakpoint_ignore_count (SCM self)
 
static SCM gdbscm_set_breakpoint_ignore_count_x (SCM self, SCM newvalue)
 
static SCM gdbscm_breakpoint_hit_count (SCM self)
 
static SCM gdbscm_set_breakpoint_hit_count_x (SCM self, SCM newvalue)
 
static SCM gdbscm_breakpoint_thread (SCM self)
 
static SCM gdbscm_set_breakpoint_thread_x (SCM self, SCM newvalue)
 
static SCM gdbscm_breakpoint_task (SCM self)
 
static SCM gdbscm_set_breakpoint_task_x (SCM self, SCM newvalue)
 
static SCM gdbscm_breakpoint_location (SCM self)
 
static SCM gdbscm_breakpoint_expression (SCM self)
 
static SCM gdbscm_breakpoint_condition (SCM self)
 
static SCM gdbscm_set_breakpoint_condition_x (SCM self, SCM newvalue)
 
static SCM gdbscm_breakpoint_stop (SCM self)
 
static SCM gdbscm_set_breakpoint_stop_x (SCM self, SCM newvalue)
 
static SCM gdbscm_breakpoint_commands (SCM self)
 
static SCM gdbscm_breakpoint_type (SCM self)
 
static SCM gdbscm_breakpoint_visible (SCM self)
 
static SCM gdbscm_breakpoint_number (SCM self)
 
static SCM gdbscm_breakpoint_temporary (SCM self)
 
int gdbscm_breakpoint_has_cond (const struct extension_language_defn *extlang, struct breakpoint *b)
 
enum ext_lang_bp_stop gdbscm_breakpoint_cond_says_stop (const struct extension_language_defn *extlang, struct breakpoint *b)
 
static void bpscm_breakpoint_created (struct breakpoint *bp)
 
static void bpscm_breakpoint_deleted (struct breakpoint *b)
 
void gdbscm_initialize_breakpoints (void)
 

Variables

static const char breakpoint_smob_name [] = "gdb:breakpoint"
 
static scm_t_bits breakpoint_smob_tag
 
static SCM pending_breakpoint_scm = SCM_BOOL_F
 
static SCM type_keyword
 
static SCM wp_class_keyword
 
static SCM internal_keyword
 
static SCM temporary_keyword
 
static const scheme_integer_constant breakpoint_integer_constants []
 
static const scheme_function breakpoint_functions []
 

Typedef Documentation

◆ breakpoint_smob

Function Documentation

◆ bpscm_attach_scm_to_breakpoint()

static void bpscm_attach_scm_to_breakpoint ( struct breakpoint * bp,
SCM containing_scm )
static

◆ bpscm_breakpoint_created()

static void bpscm_breakpoint_created ( struct breakpoint * bp)
static

◆ bpscm_breakpoint_deleted()

static void bpscm_breakpoint_deleted ( struct breakpoint * b)
static

◆ bpscm_build_bp_list()

static void bpscm_build_bp_list ( struct breakpoint * bp,
SCM * list )
static

◆ bpscm_enable_state_to_string()

static const char * bpscm_enable_state_to_string ( enum enable_state enable_state)
static

Definition at line 153 of file scm-breakpoint.c.

References bp_call_disabled, bp_disabled, and bp_enabled.

Referenced by bpscm_print_breakpoint_smob().

◆ bpscm_free_breakpoint_smob()

static size_t bpscm_free_breakpoint_smob ( SCM self)
static

◆ bpscm_get_breakpoint_arg_unsafe()

static SCM bpscm_get_breakpoint_arg_unsafe ( SCM self,
int arg_pos,
const char * func_name )
static

Definition at line 287 of file scm-breakpoint.c.

References bpscm_is_breakpoint(), and breakpoint_smob_name.

Referenced by bpscm_get_breakpoint_smob_arg_unsafe().

◆ bpscm_get_breakpoint_smob_arg_unsafe()

static breakpoint_smob * bpscm_get_breakpoint_smob_arg_unsafe ( SCM self,
int arg_pos,
const char * func_name )
static

◆ bpscm_get_valid_breakpoint_smob_arg_unsafe()

static breakpoint_smob * bpscm_get_valid_breakpoint_smob_arg_unsafe ( SCM self,
int arg_pos,
const char * func_name )
static

◆ bpscm_is_breakpoint()

static int bpscm_is_breakpoint ( SCM scm)
static

Definition at line 270 of file scm-breakpoint.c.

References breakpoint_smob_tag.

Referenced by bpscm_get_breakpoint_arg_unsafe(), and gdbscm_breakpoint_p().

◆ bpscm_is_valid()

static int bpscm_is_valid ( breakpoint_smob * bp_smob)
static

◆ bpscm_make_breakpoint_smob()

static SCM bpscm_make_breakpoint_smob ( void )
static

◆ bpscm_print_breakpoint_smob()

static int bpscm_print_breakpoint_smob ( SCM self,
SCM port,
scm_print_state * pstate )
static

◆ bpscm_type_to_string()

static const char * bpscm_type_to_string ( enum bptype type)
static

◆ bpscm_want_scm_wrapper_p()

static int bpscm_want_scm_wrapper_p ( struct breakpoint * bp,
int from_scheme )
static

◆ gdbscm_breakpoint_commands()

static SCM gdbscm_breakpoint_commands ( SCM self)
static

◆ gdbscm_breakpoint_cond_says_stop()

enum ext_lang_bp_stop gdbscm_breakpoint_cond_says_stop ( const struct extension_language_defn * extlang,
struct breakpoint * b )

◆ gdbscm_breakpoint_condition()

static SCM gdbscm_breakpoint_condition ( SCM self)
static

◆ gdbscm_breakpoint_enabled_p()

static SCM gdbscm_breakpoint_enabled_p ( SCM self)
static

◆ gdbscm_breakpoint_expression()

static SCM gdbscm_breakpoint_expression ( SCM self)
static

◆ gdbscm_breakpoint_has_cond()

int gdbscm_breakpoint_has_cond ( const struct extension_language_defn * extlang,
struct breakpoint * b )

◆ gdbscm_breakpoint_hit_count()

static SCM gdbscm_breakpoint_hit_count ( SCM self)
static

◆ gdbscm_breakpoint_ignore_count()

static SCM gdbscm_breakpoint_ignore_count ( SCM self)
static

◆ gdbscm_breakpoint_location()

static SCM gdbscm_breakpoint_location ( SCM self)
static

◆ gdbscm_breakpoint_number()

static SCM gdbscm_breakpoint_number ( SCM self)
static

◆ gdbscm_breakpoint_p()

static SCM gdbscm_breakpoint_p ( SCM scm)
static

Definition at line 278 of file scm-breakpoint.c.

References bpscm_is_breakpoint().

◆ gdbscm_breakpoint_silent_p()

static SCM gdbscm_breakpoint_silent_p ( SCM self)
static

◆ gdbscm_breakpoint_stop()

static SCM gdbscm_breakpoint_stop ( SCM self)
static

◆ gdbscm_breakpoint_task()

static SCM gdbscm_breakpoint_task ( SCM self)
static

◆ gdbscm_breakpoint_temporary()

static SCM gdbscm_breakpoint_temporary ( SCM self)
static

◆ gdbscm_breakpoint_thread()

static SCM gdbscm_breakpoint_thread ( SCM self)
static

◆ gdbscm_breakpoint_type()

static SCM gdbscm_breakpoint_type ( SCM self)
static

◆ gdbscm_breakpoint_valid_p()

static SCM gdbscm_breakpoint_valid_p ( SCM self)
static

◆ gdbscm_breakpoint_visible()

static SCM gdbscm_breakpoint_visible ( SCM self)
static

◆ gdbscm_breakpoints()

static SCM gdbscm_breakpoints ( void )
static

Definition at line 568 of file scm-breakpoint.c.

References all_breakpoints(), bp, and bpscm_build_bp_list().

◆ gdbscm_delete_breakpoint_x()

static SCM gdbscm_delete_breakpoint_x ( SCM self)
static

◆ gdbscm_initialize_breakpoints()

void gdbscm_initialize_breakpoints ( void )

◆ gdbscm_make_breakpoint()

static SCM gdbscm_make_breakpoint ( SCM location_scm,
SCM rest )
static

◆ gdbscm_register_breakpoint_x()

static SCM gdbscm_register_breakpoint_x ( SCM self)
static

◆ gdbscm_set_breakpoint_condition_x()

static SCM gdbscm_set_breakpoint_condition_x ( SCM self,
SCM newvalue )
static

◆ gdbscm_set_breakpoint_enabled_x()

static SCM gdbscm_set_breakpoint_enabled_x ( SCM self,
SCM newvalue )
static

◆ gdbscm_set_breakpoint_hit_count_x()

static SCM gdbscm_set_breakpoint_hit_count_x ( SCM self,
SCM newvalue )
static

◆ gdbscm_set_breakpoint_ignore_count_x()

static SCM gdbscm_set_breakpoint_ignore_count_x ( SCM self,
SCM newvalue )
static

◆ gdbscm_set_breakpoint_silent_x()

static SCM gdbscm_set_breakpoint_silent_x ( SCM self,
SCM newvalue )
static

◆ gdbscm_set_breakpoint_stop_x()

static SCM gdbscm_set_breakpoint_stop_x ( SCM self,
SCM newvalue )
static

◆ gdbscm_set_breakpoint_task_x()

static SCM gdbscm_set_breakpoint_task_x ( SCM self,
SCM newvalue )
static

◆ gdbscm_set_breakpoint_thread_x()

static SCM gdbscm_set_breakpoint_thread_x ( SCM self,
SCM newvalue )
static

Variable Documentation

◆ breakpoint_functions

const scheme_function breakpoint_functions[]
static

Definition at line 1201 of file scm-breakpoint.c.

Referenced by gdbscm_initialize_breakpoints().

◆ breakpoint_integer_constants

const scheme_integer_constant breakpoint_integer_constants[]
static
Initial value:
=
{
{ "BP_NONE", bp_none },
{ "BP_BREAKPOINT", bp_breakpoint },
{ "BP_WATCHPOINT", bp_watchpoint },
{ "BP_HARDWARE_WATCHPOINT", bp_hardware_watchpoint },
{ "BP_READ_WATCHPOINT", bp_read_watchpoint },
{ "BP_ACCESS_WATCHPOINT", bp_access_watchpoint },
{ "BP_CATCHPOINT", bp_catchpoint },
{ "WP_READ", hw_read },
{ "WP_WRITE", hw_write },
{ "WP_ACCESS", hw_access },
}
@ bp_breakpoint
Definition breakpoint.h:86
@ bp_watchpoint
Definition breakpoint.h:91
@ bp_read_watchpoint
Definition breakpoint.h:93
@ bp_catchpoint
Definition breakpoint.h:182
@ bp_access_watchpoint
Definition breakpoint.h:94
@ bp_none
Definition breakpoint.h:85
@ bp_hardware_watchpoint
Definition breakpoint.h:92
#define END_INTEGER_CONSTANTS

Definition at line 1184 of file scm-breakpoint.c.

Referenced by gdbscm_initialize_breakpoints().

◆ breakpoint_smob_name

const char breakpoint_smob_name[] = "gdb:breakpoint"
static

◆ breakpoint_smob_tag

scm_t_bits breakpoint_smob_tag
static

◆ internal_keyword

SCM internal_keyword
static

Definition at line 108 of file scm-breakpoint.c.

Referenced by gdbscm_initialize_breakpoints(), and gdbscm_make_breakpoint().

◆ pending_breakpoint_scm

SCM pending_breakpoint_scm = SCM_BOOL_F
static

Definition at line 103 of file scm-breakpoint.c.

Referenced by bpscm_breakpoint_created(), and gdbscm_register_breakpoint_x().

◆ temporary_keyword

SCM temporary_keyword
static

Definition at line 109 of file scm-breakpoint.c.

Referenced by gdbscm_initialize_breakpoints(), and gdbscm_make_breakpoint().

◆ type_keyword

SCM type_keyword
static

Definition at line 106 of file scm-breakpoint.c.

Referenced by gdbscm_initialize_breakpoints(), and gdbscm_make_breakpoint().

◆ wp_class_keyword

SCM wp_class_keyword
static

Definition at line 107 of file scm-breakpoint.c.

Referenced by gdbscm_initialize_breakpoints(), and gdbscm_make_breakpoint().