From: Yao Qi <yao@codesourcery.com>
To: <gdb-patches@sourceware.org>
Subject: [PATCH 3/4] Test dprintf breakpoint works correctly with other breakpoints
Date: Thu, 28 Feb 2013 13:17:00 -0000 [thread overview]
Message-ID: <1362057362-25324-3-git-send-email-yao@codesourcery.com> (raw)
In-Reply-To: <1362057362-25324-1-git-send-email-yao@codesourcery.com>
gdb/testsuite:
2013-02-28 Yao Qi <yao@codesourcery.com>
* gdb.base/dprintf.exp: Test dprintf breakpoints works correctly
with other breakpoints setting on the same address.
---
gdb/testsuite/gdb.base/dprintf.exp | 49 ++++++++++++++++++++++++++++++-----
1 files changed, 42 insertions(+), 7 deletions(-)
diff --git a/gdb/testsuite/gdb.base/dprintf.exp b/gdb/testsuite/gdb.base/dprintf.exp
index ffbd3f2..22c740a 100644
--- a/gdb/testsuite/gdb.base/dprintf.exp
+++ b/gdb/testsuite/gdb.base/dprintf.exp
@@ -40,8 +40,11 @@ gdb_breakpoint "main"
gdb_test "dprintf foo,\"At foo entry\\n\"" \
"Dprintf .*"
+# Set two dprintf breakpoints at the same location.
gdb_test "dprintf $dp_location1,\"arg=%d, g=%d\\n\", arg, g" \
- "Dprintf .*"
+ "Dprintf .*"
+gdb_test "dprintf $dp_location1,\"g=%d, arg=%d\\n\", g, arg" \
+ "Dprintf .*"
gdb_test_sequence "info breakpoints" "dprintf info 1" {
"\[\r\n\]Num Type Disp Enb Address +What"
@@ -50,6 +53,8 @@ gdb_test_sequence "info breakpoints" "dprintf info 1" {
"\[\r\n\] printf \"At foo entry\\\\n\""
"\[\r\n\]4 dprintf"
"\[\r\n\] printf \"arg=%d, g=%d\\\\n\", arg, g"
+ "\[\r\n\]5 dprintf"
+ "\[\r\n\] printf \"g=%d, arg=%d\\\\n\", g, arg"
}
gdb_test "break $bp_location1" \
@@ -76,22 +81,52 @@ if ![target_info exists gdb,noinferiorio] {
gdb_test "" "Breakpoint"
- gdb_test "continue" "At foo entry.*arg=1234, g=1234.*" "1st dprintf, call"
+ # Test two dprintf breakpoints on the same location are executed.
+ gdb_test "continue" \
+ "At foo entry.*arg=1234, g=1234\\r\\n.*g=1234, arg=1234\\r\\n.*" \
+ "1st dprintf, call"
- gdb_test "continue" "At foo entry.*arg=1235, g=2222.*" "2nd dprintf, call"
+ gdb_test "continue" \
+ "At foo entry.*arg=1235, g=2222\\r\\n.*g=2222, arg=1235\\r\\n.*" \
+ "2nd dprintf, call"
gdb_test_no_output "set dprintf-function fprintf" "Set dprintf function"
gdb_test_no_output "set dprintf-channel stderr" "Set dprintf channel"
+ # Set breakpoint on foo, and test dprintf set at the same address
+ # behaves correctly.
+ gdb_test "break foo" "Note: breakpoint ${decimal} also set at pc ${hex}.*"
+ gdb_test_no_output "set \$foo_breakpoint_number = \$bpnum"
+ # Hit the breakpoint on foo, and the command of dprintf
+ # breakpoint on foo is executed as well.
+ gdb_test "continue" \
+ "Continuing\.\\r\\nAt foo entry\\r.*Breakpoint .*" \
+ "continue"
+ gdb_test "delete \$foo_breakpoint_number"
+
gdb_run_cmd
gdb_test "" "Breakpoint"
- gdb_test "continue" "At foo entry.*arg=1234, g=1234.*" \
+ gdb_test "continue" \
+ "At foo entry.*arg=1234, g=1234\\r\\n.*g=1234, arg=1234\\r\\n.*" \
"1st dprintf, fprintf"
- gdb_test "continue" "At foo entry.*arg=1235, g=2222.*" \
+ gdb_test "continue" \
+ "At foo entry.*arg=1235, g=2222\\r\\n.*g=2222, arg=1235\\r\\n.*" \
"2nd dprintf, fprintf"
+
+ gdb_test_sequence "info breakpoints" "dprintf info 2" {
+ "\[\r\n\]Num Type Disp Enb Address +What"
+ "\[\r\n\]2 breakpoint"
+ "\[\r\n\]\tbreakpoint already hit 1 time"
+ "\[\r\n\]3 dprintf"
+ "\[\r\n\]\tbreakpoint already hit 2 times"
+ "\[\r\n\] call \\(void\\\) fprintf \\(stderr,\"At foo entry\\\\n\"\\)"
+ "\[\r\n\]4 dprintf"
+ "\[\r\n\]\tbreakpoint already hit 2 times"
+ "\[\r\n\] call \\(void\\) fprintf \\(stderr,\"arg=%d, g=%d\\\\n\", arg, g\\)"
+ }
}
set target_can_dprintf 1
@@ -116,8 +151,8 @@ if $target_can_dprintf {
gdb_test "continue" "Breakpoint \[0-9\]+, foo .*" "2nd dprintf, agent"
- gdb_test_sequence "info breakpoints" "dprintf info 2" {
- "\[\r\n\]Num Type Disp Enb Address What"
+ gdb_test_sequence "info breakpoints" "dprintf info 3" {
+ "\[\r\n\]Num Type Disp Enb Address +What"
"\[\r\n\]2 breakpoint"
"\[\r\n\]\tbreakpoint already hit 2 times"
"\[\r\n\]3 dprintf"
--
1.7.7.6
next prev parent reply other threads:[~2013-02-28 13:17 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-02-18 13:09 [RFC] PR 15075 dprintf interferes with "next" Yao Qi
2013-02-18 21:36 ` Joel Brobecker
2013-02-21 16:36 ` Tom Tromey
2013-04-24 1:24 ` Hui Zhu
2013-04-24 6:06 ` Keith Seitz
2013-04-24 13:30 ` Hui Zhu
2013-04-24 14:03 ` Yao Qi
2013-04-24 14:09 ` Hui Zhu
2013-05-16 7:29 ` Hui Zhu
2013-05-17 21:01 ` Pedro Alves
2013-05-22 10:22 ` Hui Zhu
2013-05-22 12:46 ` Pedro Alves
2013-05-28 0:02 ` Hui Zhu
2013-05-28 3:36 ` Yao Qi
2013-05-29 10:08 ` Hui Zhu
2013-06-03 4:07 ` Hui Zhu
2013-06-03 17:48 ` Pedro Alves
2013-06-07 3:16 ` Hui Zhu
2013-06-17 7:36 ` Hui Zhu
2013-06-18 18:16 ` Pedro Alves
2013-06-24 8:36 ` Hui Zhu
2013-06-24 22:06 ` Pedro Alves
2013-06-25 9:14 ` Hui Zhu
2013-06-25 11:47 ` Pedro Alves
2013-06-25 13:02 ` Hui Zhu
2013-06-25 14:06 ` Pedro Alves
2013-06-26 2:54 ` Hui Zhu
2013-05-22 14:04 ` Tom Tromey
2013-02-22 17:39 ` DPrintf feedback (was: [RFC] PR 15075 dprintf interferes with "next") Marc Khouzam
2013-02-22 19:32 ` DPrintf feedback Tom Tromey
2013-02-22 20:37 ` Marc Khouzam
2013-02-26 21:12 ` Marc Khouzam
2013-02-28 15:32 ` [PATCH 1/4] Fix dprintf bugs Yao Qi
2013-02-28 13:17 ` Yao Qi [this message]
2013-02-28 13:17 ` [PATCH 2/4] Test case of conditional dprintf Yao Qi
2013-02-28 14:48 ` [PATCH 4/4] Test case on setting dprintf commands Yao Qi
2013-02-28 16:30 ` [PATCH 1/4] Fix dprintf bugs Eli Zaretskii
2013-03-07 7:45 ` Yao Qi
2013-03-03 2:21 ` Marc Khouzam
2013-03-07 6:47 ` Yao Qi
2013-03-07 14:06 ` Marc Khouzam
2013-03-07 14:36 ` Yao Qi
2013-03-07 14:49 ` Marc Khouzam
2013-03-07 14:59 ` Yao Qi
2013-03-08 15:49 ` Marc Khouzam
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1362057362-25324-3-git-send-email-yao@codesourcery.com \
--to=yao@codesourcery.com \
--cc=gdb-patches@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox