OLD | NEW |
1 /* Memory breakpoint interfaces for the remote server for GDB. | 1 /* Memory breakpoint interfaces for the remote server for GDB. |
2 Copyright (C) 2002, 2005, 2007-2012 Free Software Foundation, Inc. | 2 Copyright (C) 2002, 2005, 2007-2012 Free Software Foundation, Inc. |
3 | 3 |
4 Contributed by MontaVista Software. | 4 Contributed by MontaVista Software. |
5 | 5 |
6 This file is part of GDB. | 6 This file is part of GDB. |
7 | 7 |
8 This program is free software; you can redistribute it and/or modify | 8 This program is free software; you can redistribute it and/or modify |
9 it under the terms of the GNU General Public License as published by | 9 it under the terms of the GNU General Public License as published by |
10 the Free Software Foundation; either version 3 of the License, or | 10 the Free Software Foundation; either version 3 of the License, or |
11 (at your option) any later version. | 11 (at your option) any later version. |
12 | 12 |
13 This program is distributed in the hope that it will be useful, | 13 This program is distributed in the hope that it will be useful, |
14 but WITHOUT ANY WARRANTY; without even the implied warranty of | 14 but WITHOUT ANY WARRANTY; without even the implied warranty of |
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
16 GNU General Public License for more details. | 16 GNU General Public License for more details. |
17 | 17 |
18 You should have received a copy of the GNU General Public License | 18 You should have received a copy of the GNU General Public License |
19 along with this program. If not, see <http://www.gnu.org/licenses/>. */ | 19 along with this program. If not, see <http://www.gnu.org/licenses/>. */ |
20 | 20 |
21 #ifndef MEM_BREAK_H | 21 #ifndef MEM_BREAK_H |
22 #define MEM_BREAK_H | 22 #define MEM_BREAK_H |
23 | 23 |
24 /* Breakpoints are opaque. */ | 24 /* Breakpoints are opaque. */ |
25 struct breakpoint; | 25 struct breakpoint; |
26 struct fast_tracepoint_jump; | 26 struct fast_tracepoint_jump; |
27 | 27 |
| 28 /* Locate a breakpoint placed at address WHERE and return a pointer |
| 29 to its structure. */ |
| 30 |
| 31 struct breakpoint *find_gdb_breakpoint_at (CORE_ADDR where); |
| 32 |
28 /* Create a new GDB breakpoint at WHERE. Returns -1 if breakpoints | 33 /* Create a new GDB breakpoint at WHERE. Returns -1 if breakpoints |
29 are not supported on this target, 0 otherwise. */ | 34 are not supported on this target, 0 otherwise. */ |
30 | 35 |
31 int set_gdb_breakpoint_at (CORE_ADDR where); | 36 int set_gdb_breakpoint_at (CORE_ADDR where); |
32 | 37 |
33 /* Returns TRUE if there's any breakpoint at ADDR in our tables, | 38 /* Returns TRUE if there's any breakpoint at ADDR in our tables, |
34 inserted, or not. */ | 39 inserted, or not. */ |
35 | 40 |
36 int breakpoint_here (CORE_ADDR addr); | 41 int breakpoint_here (CORE_ADDR addr); |
37 | 42 |
38 /* Returns TRUE if there's any inserted breakpoint set at ADDR. */ | 43 /* Returns TRUE if there's any inserted breakpoint set at ADDR. */ |
39 | 44 |
40 int breakpoint_inserted_here (CORE_ADDR addr); | 45 int breakpoint_inserted_here (CORE_ADDR addr); |
41 | 46 |
| 47 /* Clear all breakpoint conditions associated with this address. */ |
| 48 |
| 49 void clear_gdb_breakpoint_conditions (CORE_ADDR addr); |
| 50 |
| 51 /* Set target-side condition CONDITION to the breakpoint at ADDR. */ |
| 52 |
| 53 int add_breakpoint_condition (CORE_ADDR addr, char **condition); |
| 54 |
| 55 int add_breakpoint_commands (CORE_ADDR addr, char **commands, int persist); |
| 56 |
| 57 int any_persistent_commands (void); |
| 58 |
| 59 /* Evaluation condition (if any) at breakpoint BP. Return 1 if |
| 60 true and 0 otherwise. */ |
| 61 |
| 62 int gdb_condition_true_at_breakpoint (CORE_ADDR where); |
| 63 |
| 64 int gdb_no_commands_at_breakpoint (CORE_ADDR where); |
| 65 |
| 66 void run_breakpoint_commands (CORE_ADDR where); |
| 67 |
42 /* Returns TRUE if there's a GDB breakpoint set at ADDR. */ | 68 /* Returns TRUE if there's a GDB breakpoint set at ADDR. */ |
43 | 69 |
44 int gdb_breakpoint_here (CORE_ADDR where); | 70 int gdb_breakpoint_here (CORE_ADDR where); |
45 | 71 |
46 /* Create a new breakpoint at WHERE, and call HANDLER when | 72 /* Create a new breakpoint at WHERE, and call HANDLER when |
47 it is hit. HANDLER should return 1 if the breakpoint | 73 it is hit. HANDLER should return 1 if the breakpoint |
48 should be deleted, 0 otherwise. */ | 74 should be deleted, 0 otherwise. */ |
49 | 75 |
50 struct breakpoint *set_breakpoint_at (CORE_ADDR where, | 76 struct breakpoint *set_breakpoint_at (CORE_ADDR where, |
51 int (*handler) (CORE_ADDR)); | 77 int (*handler) (CORE_ADDR)); |
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
152 uninserted). This still leaves the tracepoints in the table. */ | 178 uninserted). This still leaves the tracepoints in the table. */ |
153 | 179 |
154 void uninsert_fast_tracepoint_jumps_at (CORE_ADDR pc); | 180 void uninsert_fast_tracepoint_jumps_at (CORE_ADDR pc); |
155 | 181 |
156 /* Reinsert fast tracepoint jumps at WHERE (and change their status to | 182 /* Reinsert fast tracepoint jumps at WHERE (and change their status to |
157 inserted). */ | 183 inserted). */ |
158 | 184 |
159 void reinsert_fast_tracepoint_jumps_at (CORE_ADDR where); | 185 void reinsert_fast_tracepoint_jumps_at (CORE_ADDR where); |
160 | 186 |
161 #endif /* MEM_BREAK_H */ | 187 #endif /* MEM_BREAK_H */ |
OLD | NEW |