35 std::string condition;
44 OPT_CONDITION, OPT_DISABLED, OPT_TEMP,
46 static const struct mi_opt opts[] =
48 {
"c", OPT_CONDITION, 1},
49 {
"d", OPT_DISABLED, 0 },
56 int opt =
mi_getopt (
"-catch-assert", argc, argv, opts,
62 switch ((
enum opt) opt)
65 condition.assign (oarg);
79 error (_(
"Invalid argument: %s"), argv[oind]);
83 condition, temp, enabled, 0);
92 std::string condition;
94 std::string exception_name;
103 OPT_CONDITION, OPT_DISABLED, OPT_EXCEPTION_NAME, OPT_TEMP,
106 static const struct mi_opt opts[] =
108 {
"c", OPT_CONDITION, 1},
109 {
"d", OPT_DISABLED, 0 },
110 {
"e", OPT_EXCEPTION_NAME, 1 },
111 {
"t", OPT_TEMP, 0 },
112 {
"u", OPT_UNHANDLED, 0},
118 int opt =
mi_getopt (
"-catch-exception", argc, argv, opts,
124 switch ((
enum opt) opt)
127 condition.assign (oarg);
132 case OPT_EXCEPTION_NAME:
133 exception_name = oarg;
147 error (_(
"Invalid argument: %s"), argv[oind]);
152 error (_(
"\"-e\" and \"-u\" are mutually exclusive"));
156 std::move (exception_name),
157 condition, temp, enabled, 0);
166 std::string condition;
168 std::string exception_name;
176 OPT_CONDITION, OPT_DISABLED, OPT_EXCEPTION_NAME, OPT_TEMP
178 static const struct mi_opt opts[] =
180 {
"c", OPT_CONDITION, 1},
181 {
"d", OPT_DISABLED, 0 },
182 {
"e", OPT_EXCEPTION_NAME, 1 },
183 {
"t", OPT_TEMP, 0 },
189 int opt =
mi_getopt (
"-catch-handlers", argc, argv, opts,
195 switch ((
enum opt) opt)
198 condition.assign (oarg);
203 case OPT_EXCEPTION_NAME:
204 exception_name = oarg;
215 error (_(
"Invalid argument: %s"), argv[oind]);
217 scoped_restore restore_breakpoint_reporting
220 std::move (exception_name),
221 condition, temp, enabled, 0);
229 const char *actual_cmd = load ?
"-catch-load" :
"-catch-unload";
239 static const struct mi_opt opts[] =
241 {
"t", OPT_TEMP, 0 },
242 {
"d", OPT_DISABLED, 0 },
248 int opt =
mi_getopt (actual_cmd, argc, argv, opts,
254 switch ((
enum opt) opt)
266 error (_(
"-catch-load/unload: Missing <library name>"));
268 error (_(
"-catch-load/unload: Garbage following the <library name>"));
297 const char *cmd,
const char *
const *argv,
300 const char *regex = NULL;
309 static const struct mi_opt opts[] =
311 {
"t", OPT_TEMP, 0 },
312 {
"r", OPT_REGEX, 1 },
318 int opt =
mi_getopt (cmd, argc, argv, opts,
324 switch ((
enum opt) opt)
void create_ada_exception_catchpoint(struct gdbarch *gdbarch, enum ada_exception_catchpoint_kind ex_kind, std::string &&excep_string, const std::string &cond_string, int tempflag, int enabled, int from_tty)
ada_exception_catchpoint_kind
@ ada_catch_exception_unhandled
struct gdbarch * get_current_arch(void)
void add_solib_catchpoint(const char *arg, bool is_load, bool is_temp, bool enabled)
void catch_exception_event(enum exception_event_kind ex_event, const char *arg, bool tempflag, int from_tty)
scoped_restore_tmpl< int > setup_breakpoint_reporting(void)
static void mi_cmd_catch_exception_event(enum exception_event_kind kind, const char *cmd, const char *const *argv, int argc)
static void mi_catch_load_unload(int load, const char *const *argv, int argc)
mi_cmd_argv_ftype mi_cmd_catch_throw
mi_cmd_argv_ftype mi_cmd_catch_load
mi_cmd_argv_ftype mi_cmd_catch_handlers
mi_cmd_argv_ftype mi_cmd_catch_unload
mi_cmd_argv_ftype mi_cmd_catch_exception
mi_cmd_argv_ftype mi_cmd_catch_assert
mi_cmd_argv_ftype mi_cmd_catch_catch
mi_cmd_argv_ftype mi_cmd_catch_rethrow
int mi_getopt(const char *prefix, int argc, const char *const *argv, const struct mi_opt *opts, int *oind, const char **oarg)