mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-29 04:53:56 +08:00
* breakpoint.h (enum enable_state): Remove the
bp_shlib_disabled enumerator. (struct bp_location): New members shlib_disabled, global_next, enabled and function_name. Rename pending to condition_not_parsed. * breakpoint.c (ALL_BP_LOCATIONS): Iterate over global_next. (ALL_BP_LOCATIONS_SAFE): Likewise. (breakpoint_enabled): Don't check for pending. (condition_command): Free and update all locations of a breakpoint. (insert_bp_location): Adjust. (software_breakpoint_inserted_here_p): Don't care if breakpoint is enabled, as soon as it's inserted. (print_it_typical): Print bpstat's location, not bpstat's breakpoint's location. (bpstat_stop_status): Iterate over all locations, not all breakpoints. (print_breakpoint_location): New. (print_one_breakpoint): Renamed to (print_one_breakpoint_location): ...this. Take parameters to describe which location is being printed. Modify code to properly print header for several locations and individual locations. (print_one_breakpoint): Print all locations. (breakpoint_has_pc): New. (describe_other_breakpoints): Use the above. (check_duplicates): Renamed to... (check_duplicates_for): .. this. (check_duplicates): Use check_duplicates_for. (allocate_bp_location): Adjust. (set_raw_breakpoint_without_location): New, extracted from set_raw_breakpoint. (set_breakpoint_location_function): New. (set_raw_breakpoint): Use set_raw_breakpoint_without_location. (make_breakpoint_permanent): Mark all locations as inserted. (disable_breakpoints_in_shlibs): Iterate over locations. (disable_breakpoints_in_unloaded_shlib): Likewise. (re_enable_breakpoints_in_shlibs): Likewise. (mention): Say "pending" when breakpoint has zero locations. If breakpoint has more than one location, say so. (add_location_to_breakpoint): New. (create_breakpoint): Accept symtabs_and_lines, not symtab_and_line. Pass extra sals to add_location_to_breakpoint. (create_breakpoints): Pass symtabs_and_lines to create_breakpoints. (break_command_1): Make pending breakpoints have zero locations. (do_captured_breakpoint): Remove wrong allocation. (clear_command): Iterate over all locations. (unlink_locations_from_global_list): Renamed from unlink_location_from_global_list. Remove all locations. (delete_breakpoint): Remove all locations. Iterate over all locations when deciding which other location to re-enable. (all_locations_are_pending): New. (update_breakpoint_locations): Renamed from update_breakpoint_location. Try to match old and new locations using names of containing functions. (breakpoint_re_set_one): Adjust. (find_location_by_number): New. (disable_command): Allow disabling individual location. (enable_command): Allow enabling individual location. * breakpoint.c: Adjust all uses of breakpoint's enable state to for bp_shlib_disabled change.
This commit is contained in:
parent
3bd52c2885
commit
0d381245e3
@ -1,3 +1,80 @@
|
||||
2007-09-23 Vladimir Prus <vladimir@codesourcery.com>
|
||||
|
||||
Allow a code breakpoint to have several locations
|
||||
associated with it.
|
||||
* breakpoint.h (enum enable_state): Remove the
|
||||
bp_shlib_disabled enumerator.
|
||||
(struct bp_location): New members shlib_disabled,
|
||||
global_next, enabled and function_name.
|
||||
Rename pending to condition_not_parsed.
|
||||
|
||||
* breakpoint.c (ALL_BP_LOCATIONS): Iterate over global_next.
|
||||
(ALL_BP_LOCATIONS_SAFE): Likewise.
|
||||
(breakpoint_enabled): Don't check for pending.
|
||||
(condition_command): Free and update all locations of
|
||||
a breakpoint.
|
||||
(insert_bp_location): Adjust.
|
||||
(software_breakpoint_inserted_here_p): Don't care
|
||||
if breakpoint is enabled, as soon as it's inserted.
|
||||
(print_it_typical): Print bpstat's location, not
|
||||
bpstat's breakpoint's location.
|
||||
(bpstat_stop_status): Iterate over all locations, not
|
||||
all breakpoints.
|
||||
(print_breakpoint_location): New.
|
||||
(print_one_breakpoint): Renamed to
|
||||
(print_one_breakpoint_location): ...this. Take
|
||||
parameters to describe which location is being
|
||||
printed. Modify code to properly print header
|
||||
for several locations and individual locations.
|
||||
(print_one_breakpoint): Print all locations.
|
||||
(breakpoint_has_pc): New.
|
||||
(describe_other_breakpoints): Use the above.
|
||||
(check_duplicates): Renamed to...
|
||||
(check_duplicates_for): .. this.
|
||||
(check_duplicates): Use check_duplicates_for.
|
||||
(allocate_bp_location): Adjust.
|
||||
(set_raw_breakpoint_without_location): New,
|
||||
extracted from set_raw_breakpoint.
|
||||
(set_breakpoint_location_function): New.
|
||||
(set_raw_breakpoint): Use
|
||||
set_raw_breakpoint_without_location.
|
||||
(make_breakpoint_permanent): Mark all locations
|
||||
as inserted.
|
||||
(disable_breakpoints_in_shlibs): Iterate over
|
||||
locations.
|
||||
(disable_breakpoints_in_unloaded_shlib): Likewise.
|
||||
(re_enable_breakpoints_in_shlibs): Likewise.
|
||||
(mention): Say "pending" when breakpoint has
|
||||
zero locations. If breakpoint has more than one
|
||||
location, say so.
|
||||
(add_location_to_breakpoint): New.
|
||||
(create_breakpoint): Accept symtabs_and_lines, not
|
||||
symtab_and_line. Pass extra sals to
|
||||
add_location_to_breakpoint.
|
||||
(create_breakpoints): Pass symtabs_and_lines to
|
||||
create_breakpoints.
|
||||
(break_command_1): Make pending breakpoints
|
||||
have zero locations.
|
||||
(do_captured_breakpoint): Remove wrong allocation.
|
||||
(clear_command): Iterate over all locations.
|
||||
(unlink_locations_from_global_list): Renamed
|
||||
from unlink_location_from_global_list. Remove
|
||||
all locations.
|
||||
(delete_breakpoint): Remove all locations.
|
||||
Iterate over all locations when deciding which
|
||||
other location to re-enable.
|
||||
(all_locations_are_pending): New.
|
||||
(update_breakpoint_locations): Renamed from
|
||||
update_breakpoint_location. Try to match old
|
||||
and new locations using names of containing
|
||||
functions.
|
||||
(breakpoint_re_set_one): Adjust.
|
||||
(find_location_by_number): New.
|
||||
(disable_command): Allow disabling individual location.
|
||||
(enable_command): Allow enabling individual location.
|
||||
* breakpoint.c: Adjust all uses of breakpoint's
|
||||
enable state to for bp_shlib_disabled change.
|
||||
|
||||
2007-09-22 Vladimir Prus <vladimir@codesourcery.com>
|
||||
|
||||
* breakpoint.c (do_restore_lang_radix_cleanup): Remove.
|
||||
|
1112
gdb/breakpoint.c
1112
gdb/breakpoint.c
File diff suppressed because it is too large
Load Diff
@ -143,9 +143,6 @@ enum enable_state
|
||||
{
|
||||
bp_disabled, /* The eventpoint is inactive, and cannot trigger. */
|
||||
bp_enabled, /* The eventpoint is active, and can trigger. */
|
||||
bp_shlib_disabled, /* The eventpoint's address is in an unloaded solib.
|
||||
The eventpoint will be automatically enabled
|
||||
and reset when that solib is loaded. */
|
||||
bp_call_disabled, /* The eventpoint has been disabled while a call
|
||||
into the inferior is "in flight", because some
|
||||
eventpoints interfere with the implementation of
|
||||
@ -232,9 +229,14 @@ enum bp_loc_type
|
||||
|
||||
struct bp_location
|
||||
{
|
||||
/* Chain pointer to the next breakpoint location. */
|
||||
/* Chain pointer to the next breakpoint location for
|
||||
the same parent breakpoint. */
|
||||
struct bp_location *next;
|
||||
|
||||
/* Pointer to the next breakpoint location, in a global
|
||||
list of all breakpoint locations. */
|
||||
struct bp_location *global_next;
|
||||
|
||||
/* Type of this breakpoint location. */
|
||||
enum bp_loc_type loc_type;
|
||||
|
||||
@ -249,6 +251,14 @@ struct bp_location
|
||||
locations, the evaluation of expression can be different for
|
||||
different locations. */
|
||||
struct expression *cond;
|
||||
|
||||
/* This location's address is in an unloaded solib, and so this
|
||||
location should not be inserted. It will be automatically
|
||||
enabled when that solib is loaded. */
|
||||
char shlib_disabled;
|
||||
|
||||
/* Is this particular location enabled. */
|
||||
char enabled;
|
||||
|
||||
/* Nonzero if this breakpoint is now inserted. */
|
||||
char inserted;
|
||||
@ -281,6 +291,8 @@ struct bp_location
|
||||
processor's architectual constraints. */
|
||||
CORE_ADDR requested_address;
|
||||
|
||||
char *function_name;
|
||||
|
||||
/* Details of the placed breakpoint, when inserted. */
|
||||
struct bp_target_info target_info;
|
||||
|
||||
@ -423,8 +435,10 @@ struct breakpoint
|
||||
second bit : 0 normal breakpoint, 1 hardware breakpoint. */
|
||||
int flag;
|
||||
|
||||
/* Is breakpoint pending on shlib loads? */
|
||||
int pending;
|
||||
/* Is breakpoint's condition not yet parsed because we found
|
||||
no location initially so had no context to parse
|
||||
the condition in. */
|
||||
int condition_not_parsed;
|
||||
};
|
||||
|
||||
/* The following stuff is an abstract data type "bpstat" ("breakpoint
|
||||
|
@ -1,3 +1,15 @@
|
||||
2007-09-23 Vladimir Prus <vladimir@codesourcery.com>
|
||||
|
||||
* gdb.base/annota1.exp: Adjust for 'info break'
|
||||
format changes.
|
||||
* gdb.base/annota3.exp: Likewise.
|
||||
* gdb.base/break.exp: Likewise.
|
||||
* gdb.base/condbreak.exp: Likewise.
|
||||
* gdb.base/pending.exp: Likewise.
|
||||
* gdb.base/sepdebug.exp: Likewise.
|
||||
* gdb.base/unload.exp: Likewise.
|
||||
* gdb.base/ovldbreak.exp: Likewise.
|
||||
|
||||
2007-09-22 Vladimir Prus <vladimir@codesourcery.com>
|
||||
|
||||
* gdb.base/pending.exp: No longer expect "Pending breakpoint resolved"
|
||||
|
@ -117,9 +117,9 @@ gdb_expect {
|
||||
#
|
||||
send_gdb "info break\n"
|
||||
gdb_expect {
|
||||
-re "\r\n\032\032post-prompt\r\n\r\n\032\032breakpoints-headers\r\n\r\n\032\032field 0\r\nNum \r\n\032\032field 1\r\nType \r\n\032\032field 2\r\nDisp \r\n\032\032field 3\r\nEnb \r\n\032\032field 4\r\nAddress +\r\n\032\032field 5\r\nWhat\r\n\r\n\032\032breakpoints-table\r\n\r\n\032\032record\r\n\r\n\032\032field 0\r\n1 \r\n\032\032field 1\r\nbreakpoint \r\n\032\032field 2\r\nkeep \r\n\032\032field 3\r\ny \r\n\032\032field 4\r\n$hex +\r\n\032\032field 5\r\nin main at ${escapedsrcfile}:$main_line\r\n\r\n\032\032breakpoints-table-end\r\n$gdb_prompt$" \
|
||||
-re "\r\n\032\032post-prompt\r\n\r\n\032\032breakpoints-headers\r\n\r\n\032\032field 0\r\nNum \r\n\032\032field 1\r\nType \r\n\032\032field 2\r\nDisp \r\n\032\032field 3\r\nEnb \r\n\032\032field 4\r\nAddress +\r\n\032\032field 5\r\nWhat\r\n\r\n\032\032breakpoints-table\r\n\r\n\032\032record\r\n\r\n\032\032field 0\r\n1 \r\n\032\032field 1\r\nbreakpoint \r\n\032\032field 2\r\nkeep \r\n\032\032field 3\r\ny \r\n\032\032field 4\r\n$hex +\r\n\032\032field 5\r\nin main at ${escapedsrcfile}:$main_line\r\n\r\n\032\032breakpoints-table-end\r\n$gdb_prompt$" \
|
||||
{pass "breakpoint info"}
|
||||
-re "\r\n\032\032post-prompt\r\n\r\n\032\032breakpoints-headers\r\n\r\n\032\032field 0\r\nNum \r\n\032\032field 1\r\nType \r\n\032\032field 2\r\nDisp \r\n\032\032field 3\r\nEnb \r\n\032\032field 4\r\nAddress +\r\n\032\032field 5\r\nWhat\r\n\r\n\032\032breakpoints-table\r\n\r\n\032\032record\r\n\r\n\032\032field 0\r\n1 \r\n\032\032field 1\r\nbreakpoint \r\n\032\032field 2\r\nkeep \r\n\032\032field 3\r\ny \r\n\032\032field 4\r\n$hex +\r\n\032\032field 5\r\nin main at .*${srcfile}:$main_line\r\n\r\n\032\032breakpoints-table-end\r\n$gdb_prompt$" \
|
||||
-re "\r\n\032\032post-prompt\r\n\r\n\032\032breakpoints-headers\r\n\r\n\032\032field 0\r\nNum \r\n\032\032field 1\r\nType \r\n\032\032field 2\r\nDisp \r\n\032\032field 3\r\nEnb \r\n\032\032field 4\r\nAddress +\r\n\032\032field 5\r\nWhat\r\n\r\n\032\032breakpoints-table\r\n\r\n\032\032record\r\n\r\n\032\032field 0\r\n1 \r\n\032\032field 1\r\nbreakpoint \r\n\032\032field 2\r\nkeep \r\n\032\032field 3\r\ny \r\n\032\032field 4\r\n$hex +\r\n\032\032field 5\r\nin main at .*${srcfile}:$main_line\r\n\r\n\032\032breakpoints-table-end\r\n$gdb_prompt$" \
|
||||
{ setup_xfail "*-*-*" 1270
|
||||
fail "breakpoint info"}
|
||||
-re ".*$gdb_prompt$" { fail "breakpoint info" }
|
||||
|
@ -127,8 +127,8 @@ gdb_expect {
|
||||
send_gdb "info break\n"
|
||||
gdb_expect_list "breakpoint info" "$gdb_prompt$" {
|
||||
"\r\n\032\032post-prompt\r\n"
|
||||
"Num Type Disp Enb Address +What\r\n"
|
||||
"1 breakpoint keep y 0x\[0-9a-zA-Z\]+ +in main at .*annota3.c:32\r\n"
|
||||
"Num Type Disp Enb Address +What\r\n"
|
||||
"1 breakpoint keep y 0x\[0-9a-zA-Z\]+ +in main at .*annota3.c:32\r\n"
|
||||
}
|
||||
|
||||
|
||||
|
@ -179,7 +179,7 @@ set bp_location8 [gdb_get_line_number "set breakpoint 8 here" $srcfile1]
|
||||
set bp_location9 [gdb_get_line_number "set breakpoint 9 here" $srcfile1]
|
||||
|
||||
gdb_test "info break" \
|
||||
"Num Type\[ \]+Disp Enb Address\[ \]+What.*
|
||||
"Num Type\[ \]+Disp Enb Address\[ \]+What.*
|
||||
\[0-9\]+\[\t \]+breakpoint keep y.* in main at .*$srcfile:$main_line.*
|
||||
\[0-9\]+\[\t \]+breakpoint keep y.* in marker2 at .*$srcfile1:($bp_location8|$bp_location9).*
|
||||
\[0-9\]+\[\t \]+breakpoint keep y.* in factorial$proto at .*$srcfile:$bp_location7.*
|
||||
@ -309,7 +309,7 @@ gdb_test "tbreak $srcfile:$bp_location11" "Breakpoint.*at.* file .*$srcfile, li
|
||||
#
|
||||
# check to see what breakpoints are set (temporary this time)
|
||||
#
|
||||
gdb_test "info break" "Num Type.*Disp Enb Address.*What.*\[\r\n\]
|
||||
gdb_test "info break" "Num Type.*Disp Enb Address.*What.*\[\r\n\]
|
||||
\[0-9\]+\[\t \]+breakpoint del.*y.*in main at .*$srcfile:$main_line.*\[\r\n\]
|
||||
\[0-9\]+\[\t \]+breakpoint del.*y.*in factorial$proto at .*$srcfile:$bp_location7.*\[\r\n\]
|
||||
\[0-9\]+\[\t \]+breakpoint del.*y.*in main at .*$srcfile:$bp_location1.*\[\r\n\]
|
||||
|
@ -125,14 +125,14 @@ if {$hp_aCC_compiler} {
|
||||
}
|
||||
|
||||
gdb_test "info break" \
|
||||
"Num Type\[ \]+Disp Enb Address\[ \]+What.*
|
||||
"Num Type\[ \]+Disp Enb Address\[ \]+What.*
|
||||
\[0-9\]+\[\t \]+breakpoint keep y.* in main at .*$srcfile:$bp_location6.*
|
||||
\[0-9\]+\[\t \]+breakpoint keep y.* in marker1$marker1_proto at .*$srcfile1:($bp_location15|$bp_location16).*
|
||||
\[\t \]+stop only if 1 == 1.*
|
||||
\[\t \]+stop only if \\(1==1\\).*
|
||||
\[0-9\]+\[\t \]+breakpoint keep y.* in main at .*$srcfile:$bp_location1.*
|
||||
\[\t \]+stop only if 1 == 1.*
|
||||
\[\t \]+stop only if \\(1==1\\).*
|
||||
\[0-9\]+\[\t \]+breakpoint keep y.* in marker2$marker2_proto at .*$srcfile1:($bp_location8|$bp_location9).*
|
||||
\[\t \]+stop only if a == 43.*" \
|
||||
\[\t \]+stop only if \\(a==43\\).*" \
|
||||
"breakpoint info"
|
||||
|
||||
|
||||
|
@ -71,8 +71,8 @@ gdb_test_multiple "break pendfunc1" "set pending breakpoint" {
|
||||
}
|
||||
|
||||
gdb_test "info break" \
|
||||
"Num Type\[ \]+Disp Enb Address\[ \]+What.*
|
||||
\[0-9\]+\[\t \]+breakpoint keep y.*PENDING.*pendfunc1.*" \
|
||||
"Num Type\[ \]+Disp Enb Address\[ \]+What.*
|
||||
\[0-9\]+\[\t \]+breakpoint keep y\\(p\\).*PENDING.*pendfunc1.*" \
|
||||
"single pending breakpoint info"
|
||||
|
||||
#
|
||||
@ -86,8 +86,8 @@ gdb_test "break main" \
|
||||
"breakpoint function"
|
||||
|
||||
gdb_test "info break" \
|
||||
"Num Type\[ \]+Disp Enb Address\[ \]+What.*
|
||||
\[0-9\]+\[\t \]+breakpoint keep y.*PENDING.*pendfunc1.*
|
||||
"Num Type\[ \]+Disp Enb Address\[ \]+What.*
|
||||
\[0-9\]+\[\t \]+breakpoint keep y\\(p\\).*PENDING.*pendfunc1.*
|
||||
\[0-9\]+\[\t \]+breakpoint keep y.* in main at .*$srcfile:$mainline" \
|
||||
"pending plus real breakpoint info"
|
||||
|
||||
@ -108,8 +108,8 @@ gdb_test_multiple "break pendfunc2" "Don't set pending breakpoint" {
|
||||
gdb_test "condition 1 k == 1" ""
|
||||
|
||||
gdb_test "info break" \
|
||||
"Num Type\[ \]+Disp Enb Address\[ \]+What.*
|
||||
\[0-9\]+\[\t \]+breakpoint keep y.*PENDING.*pendfunc1.*
|
||||
"Num Type\[ \]+Disp Enb Address\[ \]+What.*
|
||||
\[0-9\]+\[\t \]+breakpoint keep y\\(p\\).*PENDING.*pendfunc1.*
|
||||
\[\t \]+stop only if k == 1.*
|
||||
\[0-9\]+\[\t \]+breakpoint keep y.* in main at .*$srcfile:$mainline" \
|
||||
"pending plus condition"
|
||||
@ -121,8 +121,8 @@ gdb_test "info break" \
|
||||
gdb_test "disable 1" ""
|
||||
|
||||
gdb_test "info break" \
|
||||
"Num Type\[ \]+Disp Enb Address\[ \]+What.*
|
||||
\[0-9\]+\[\t \]+breakpoint keep n.*PENDING.*pendfunc1.*
|
||||
"Num Type\[ \]+Disp Enb Address\[ \]+What.*
|
||||
\[0-9\]+\[\t \]+breakpoint keep n\\(p\\).*PENDING.*pendfunc1.*
|
||||
\[\t \]+stop only if k == 1.*
|
||||
\[0-9\]+\[\t \]+breakpoint keep y.* in main at .*$srcfile:$mainline" \
|
||||
"pending disabled"
|
||||
@ -134,8 +134,8 @@ gdb_test "commands 1\nprint k\nend" "" \
|
||||
"Set commands for pending breakpoint"
|
||||
|
||||
gdb_test "info break" \
|
||||
"Num Type\[ \]+Disp Enb Address\[ \]+What.*
|
||||
\[0-9\]+\[\t \]+breakpoint keep n.*PENDING.*pendfunc1.*
|
||||
"Num Type\[ \]+Disp Enb Address\[ \]+What.*
|
||||
\[0-9\]+\[\t \]+breakpoint keep n\\(p\\).*PENDING.*pendfunc1.*
|
||||
\[\t \]+stop only if k == 1.*
|
||||
\[\t \]+print k.*
|
||||
\[0-9\]+\[\t \]+breakpoint keep y.* in main at .*$srcfile:$mainline" \
|
||||
@ -154,12 +154,12 @@ gdb_test_multiple "break pendshr.c:$bp2_loc if x > 3" "Set pending breakpoint 2"
|
||||
}
|
||||
|
||||
gdb_test "info break" \
|
||||
"Num Type\[ \]+Disp Enb Address\[ \]+What.*
|
||||
\[0-9\]+\[\t \]+breakpoint keep n.*PENDING.*pendfunc1.*
|
||||
"Num Type\[ \]+Disp Enb Address\[ \]+What.*
|
||||
\[0-9\]+\[\t \]+breakpoint keep n\\(p\\).*PENDING.*pendfunc1.*
|
||||
\[\t \]+stop only if k == 1.*
|
||||
\[\t \]+print k.*
|
||||
\[0-9\]+\[\t \]+breakpoint keep y.* in main at .*$srcfile:$mainline.*
|
||||
\[0-9\]+\[\t \]+breakpoint keep y.*PENDING.*pendshr.c:$bp2_loc if x > 3.*" \
|
||||
\[0-9\]+\[\t \]+breakpoint keep y\\(p\\).*PENDING.*pendshr.c:$bp2_loc if x > 3.*" \
|
||||
"multiple pending breakpoints"
|
||||
|
||||
|
||||
@ -179,13 +179,13 @@ gdb_test {ignore $bpnum 2} "Will ignore next 2 crossings of breakpoint .*" \
|
||||
"set ignore count on pending breakpoint 3"
|
||||
|
||||
gdb_test "info break" \
|
||||
"Num Type\[ \]+Disp Enb Address\[ \]+What.*
|
||||
\[0-9\]+\[\t \]+breakpoint keep n.*PENDING.*pendfunc1.*
|
||||
"Num Type\[ \]+Disp Enb Address\[ \]+What.*
|
||||
\[0-9\]+\[\t \]+breakpoint keep n\\(p\\).*PENDING.*pendfunc1.*
|
||||
\[\t \]+stop only if k == 1.*
|
||||
\[\t \]+print k.*
|
||||
\[0-9\]+\[\t \]+breakpoint keep y.* in main at .*$srcfile:$mainline.*
|
||||
\[0-9\]+\[\t \]+breakpoint keep y.*PENDING.*pendshr.c:$bp2_loc if x > 3.*
|
||||
\[0-9\]+\[\t \]+breakpoint keep y.*PENDING.*pendshr.c:$bp3_loc.*ignore next 2 hits.*" \
|
||||
\[0-9\]+\[\t \]+breakpoint keep y\\(p\\).*PENDING.*pendshr.c:$bp2_loc if x > 3.*
|
||||
\[0-9\]+\[\t \]+breakpoint keep y\\(p\\).*PENDING.*pendshr.c:$bp3_loc.*ignore next 2 hits.*" \
|
||||
"multiple pending breakpoints 2"
|
||||
|
||||
#
|
||||
@ -253,7 +253,7 @@ gdb_test_multiple "break imaginary" "set imaginary pending breakpoint" {
|
||||
rerun_to_main
|
||||
|
||||
gdb_test "info break" \
|
||||
"Num Type\[ \]+Disp Enb Address\[ \]+What.*
|
||||
"Num Type\[ \]+Disp Enb Address\[ \]+What.*
|
||||
\[0-9\]+\[\t \]+breakpoint keep y.* in main at .*$srcfile:$mainline.*
|
||||
\[0-9\]+\[\t \]+breakpoint keep y.*PENDING.*imaginary.*" \
|
||||
\[0-9\]+\[\t \]+breakpoint keep y\\(p\\).*PENDING.*imaginary.*" \
|
||||
"verify pending breakpoint after restart"
|
||||
|
@ -179,7 +179,7 @@ set bp_location8 [gdb_get_line_number "set breakpoint 8 here"]
|
||||
set bp_location9 [gdb_get_line_number "set breakpoint 9 here"]
|
||||
|
||||
gdb_test "info break" \
|
||||
"Num Type\[ \]+Disp Enb Address\[ \]+What.*
|
||||
"Num Type\[ \]+Disp Enb Address\[ \]+What.*
|
||||
\[0-9\]+\[\t \]+breakpoint keep y.* in main at .*$srcfile:$main_line.*
|
||||
\[0-9\]+\[\t \]+breakpoint keep y.* in marker2 at .*$srcfile:($bp_location8|$bp_location9).*
|
||||
\[0-9\]+\[\t \]+breakpoint keep y.* in factorial at .*$srcfile:$bp_location7.*
|
||||
@ -298,7 +298,7 @@ gdb_test "tbreak $srcfile:$bp_location11" "Breakpoint.*at.* file .*$srcfile, li
|
||||
#
|
||||
# check to see what breakpoints are set (temporary this time)
|
||||
#
|
||||
gdb_test "info break" "Num Type.*Disp Enb Address.*What.*\[\r\n\]
|
||||
gdb_test "info break" "Num Type.*Disp Enb Address.*What.*\[\r\n\]
|
||||
\[0-9\]+\[\t \]+breakpoint del.*y.*in main at .*$srcfile:$main_line.*\[\r\n\]
|
||||
\[0-9\]+\[\t \]+breakpoint del.*y.*in factorial at .*$srcfile:$bp_location7.*\[\r\n\]
|
||||
\[0-9\]+\[\t \]+breakpoint del.*y.*in main at .*$srcfile:$bp_location1.*\[\r\n\]
|
||||
|
@ -81,8 +81,8 @@ gdb_test_multiple "break shrfunc1" "set pending breakpoint" {
|
||||
}
|
||||
|
||||
gdb_test "info break" \
|
||||
"Num Type\[ \]+Disp Enb Address\[ \]+What.*
|
||||
\[0-9\]+\[\t \]+breakpoint keep y.*PENDING.*shrfunc1.*" \
|
||||
"Num Type\[ \]+Disp Enb Address\[ \]+What.*
|
||||
\[0-9\]+\[\t \]+breakpoint keep y\\(p\\).*PENDING.*shrfunc1.*" \
|
||||
"single pending breakpoint info"
|
||||
|
||||
set unloadshr_line [gdb_get_line_number "unloadshr break" ${libsrcfile}]
|
||||
|
@ -153,7 +153,7 @@ set_bp_overloaded "foo::overload1arg" "$menu_overload1arg" 13 13 110
|
||||
# Verify the breakpoints.
|
||||
|
||||
gdb_test "info break" \
|
||||
"Num Type\[\t \]+Disp Enb Address\[\t \]+What.*
|
||||
"Num Type\[\t \]+Disp Enb Address\[\t \]+What.*
|
||||
\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in main at.*$srcfile:49\r
|
||||
\[\t \]+breakpoint already hit 1 time\r
|
||||
\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(char\\) at.*$srcfile:111\r
|
||||
@ -211,7 +211,7 @@ gdb_expect {
|
||||
}
|
||||
|
||||
gdb_test "info break" \
|
||||
"Num Type\[\t \]+Disp Enb Address\[\t \]+What.*
|
||||
"Num Type\[\t \]+Disp Enb Address\[\t \]+What.*
|
||||
\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in main at.*$srcfile:49\r
|
||||
\[\t \]+breakpoint already hit 1 time\r
|
||||
\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(char\\) at.*$srcfile:111\r
|
||||
@ -290,7 +290,7 @@ gdb_expect {
|
||||
}
|
||||
|
||||
gdb_test "info break" \
|
||||
"Num Type\[\t \]+Disp Enb Address\[\t \]+What.*
|
||||
"Num Type\[\t \]+Disp Enb Address\[\t \]+What.*
|
||||
\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(double\\) at.*$srcfile:121\r
|
||||
\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(float\\) at.*$srcfile:120\r
|
||||
\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(unsigned long\\) at.*$srcfile:119\r
|
||||
|
Loading…
Reference in New Issue
Block a user