|
|
1.1 root 1: /*
2: * Mach Operating System
3: * Copyright (c) 1991 Carnegie Mellon University
4: * All Rights Reserved.
5: *
6: * Permission to use, copy, modify and distribute this software and its
7: * documentation is hereby granted, provided that both the copyright
8: * notice and this permission notice appear in all copies of the
9: * software, derivative works or modified versions, and any portions
10: * thereof, and that both notices appear in supporting documentation.
11: *
12: * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
13: * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
14: * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
15: *
16: * Carnegie Mellon requests users of this software to return to
17: *
18: * Software Distribution Coordinator or [email protected]
19: * School of Computer Science
20: * Carnegie Mellon University
21: * Pittsburgh PA 15213-3890
22: *
23: * any improvements or extensions that they make and grant Carnegie Mellon
24: * the rights to redistribute these changes.
25: */
26:
1.1.1.3 ! root 27: #ifndef _DDB_DB_RUN_H_
! 28: #define _DDB_DB_RUN_H_
! 29:
1.1.1.2 root 30: #include <kern/task.h>
31: #include <machine/db_machdep.h>
32:
1.1 root 33: extern int db_run_mode;
34:
35: /* modes the system may be running in */
36:
37: #define STEP_NONE 0
38: #define STEP_ONCE 1
39: #define STEP_RETURN 2
40: #define STEP_CALLT 3
41: #define STEP_CONTINUE 4
42: #define STEP_INVISIBLE 5
43: #define STEP_COUNT 6
1.1.1.2 root 44:
45: extern void db_single_step(db_regs_t *regs, task_t task);
46:
47: extern void db_single_step_cmd(
48: db_expr_t addr,
1.1.1.3 ! root 49: int have_addr,
1.1.1.2 root 50: db_expr_t count,
1.1.1.3 ! root 51: const char *modif);
1.1.1.2 root 52:
53: void db_trace_until_call_cmd(
54: db_expr_t addr,
55: int have_addr,
56: db_expr_t count,
1.1.1.3 ! root 57: const char * modif);
1.1.1.2 root 58:
59: void db_trace_until_matching_cmd(
60: db_expr_t addr,
61: int have_addr,
62: db_expr_t count,
1.1.1.3 ! root 63: const char * modif);
1.1.1.2 root 64:
65: void db_continue_cmd(
66: db_expr_t addr,
67: int have_addr,
68: db_expr_t count,
1.1.1.3 ! root 69: const char * modif);
! 70:
! 71: #ifndef db_set_single_step
! 72: void db_set_task_single_step(db_regs_t *, task_t);
! 73: #else
! 74: #define db_set_task_single_step(regs, task) db_set_single_step(regs)
! 75: #endif
! 76: #ifndef db_clear_single_step
! 77: void db_clear_task_single_step(const db_regs_t *, task_t);
! 78: #else
! 79: #define db_clear_task_single_step(regs, task) db_clear_single_step(regs)
! 80: #endif
1.1.1.2 root 81:
82: extern boolean_t db_in_single_step(void);
1.1.1.3 ! root 83:
! 84: extern void
! 85: db_restart_at_pc(
! 86: boolean_t watchpt,
! 87: task_t task);
! 88:
! 89: extern boolean_t
! 90: db_stop_at_pc(
! 91: boolean_t *is_breakpoint,
! 92: task_t task);
! 93:
! 94: #endif /* _DDB_DB_RUN_H_ */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.