--- Gnu-Mach/ddb/db_break.h 2020/09/02 04:43:16 1.1.1.2 +++ Gnu-Mach/ddb/db_break.h 2020/09/02 04:48:18 1.1.1.4 @@ -64,18 +64,19 @@ struct db_breakpoint { #define BKPT_USR_GLOBAL 0x8 /* global user space break point */ #define BKPT_SET_IN_MEM 0x10 /* break point is set in memory */ #define BKPT_1ST_SET 0x20 /* 1st time set of user global bkpt */ +#define BKPT_EXTERNAL 0x40 /* break point is not from ddb */ vm_size_t bkpt_inst; /* saved instruction at bkpt */ struct db_breakpoint *link; /* link in in-use or free chain */ }; typedef struct db_breakpoint *db_breakpoint_t; -extern db_breakpoint_t db_find_breakpoint( task_t task, db_addr_t addr); -extern boolean_t db_find_breakpoint_here( task_t task, db_addr_t addr); -extern void db_set_breakpoints(); -extern void db_clear_breakpoints(); +extern db_breakpoint_t db_find_breakpoint( const task_t task, db_addr_t addr) __attribute__ ((pure)); +extern boolean_t db_find_breakpoint_here( const task_t task, db_addr_t addr); +extern void db_set_breakpoints(void); +extern void db_clear_breakpoints(void); extern db_thread_breakpoint_t db_find_thread_breakpoint_here - ( task_t task, db_addr_t addr ); + ( const task_t task, db_addr_t addr ); extern db_thread_breakpoint_t db_find_breakpoint_number ( int num, db_breakpoint_t *bkptp); @@ -83,4 +84,20 @@ extern db_breakpoint_t db_set_temp_break extern void db_delete_temp_breakpoint ( task_t task, db_breakpoint_t bkpt); +extern db_breakpoint_t db_set_breakpoint(const task_t task, db_addr_t addr, + int count, const thread_t thread, + boolean_t task_bpt); + +void db_listbreak_cmd(void); + +void db_delete_cmd(void); + +void db_breakpoint_cmd( + db_expr_t addr, + int have_addr, + db_expr_t count, + const char * modif); + +extern void db_check_breakpoint_valid(void); + #endif /* _DDB_DB_BREAK_H_ */