Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Marc Khouzam <marc.khouzam@ericsson.com>
To: "'Tom Tromey'" <tromey@redhat.com>
Cc: "'gdb-patches@sourceware.org'" <gdb-patches@sourceware.org>
Subject: RE: [patch] MI ignores conditions for pending breakpoints
Date: Wed, 25 Jul 2012 13:11:00 -0000	[thread overview]
Message-ID: <F7CE05678329534C957159168FA70DEC5C25002FAA@EUSAACMS0703.eamcs.ericsson.se> (raw)
In-Reply-To: <F7CE05678329534C957159168FA70DEC5C24CAECC5@EUSAACMS0703.eamcs.ericsson.se>

> -----Original Message-----
> From: gdb-patches-owner@sourceware.org 
> [mailto:gdb-patches-owner@sourceware.org] On Behalf Of Marc Khouzam
> Sent: Tuesday, July 24, 2012 1:42 PM
> To: 'Tom Tromey'
> Cc: 'gdb-patches@sourceware.org'
> Subject: RE: [patch] MI ignores conditions for pending breakpoints
> 
> > -----Original Message-----
> > From: Tom Tromey [mailto:tromey@redhat.com] 
> > Sent: Monday, July 23, 2012 3:08 PM
> > To: Marc Khouzam
> > Cc: gdb-patches@sourceware.org
> > Subject: Re: [patch] MI ignores conditions for pending breakpoints
> > 
> > >>>>> "Marc" == Marc Khouzam <marc.khouzam@ericsson.com> writes:
> > 
> > Marc> 2012-07-20  Marc Khouzam  <marc.khouzam@ericsson.com>
> > Marc> 	* breakpoint.c (create_breakpoint): Store 
> > condition for pending
> > Marc> 	breakpoints.
> > 
> > This is ok for trunk and the 7.5 branch.
> > Thanks.
> 
> Committed to both.
> 
> Thanks!
> 
> > 
> > Marc> Broken session:
> > Marc> --------------
> > 
> > A patch to the test suite would be nice.

Here is a test case for the problem.  I'm not thrilled
with it but it does fail before the fix and pass
after, so it is probably sufficient.
What I don't like about it is that it verifies
that the condition prevents the breakpoint from
hitting instead of making sure a breakpoint hits at
the right condition.  I had to do that because the alternative
is to use a variable in the sharedlib for the condition,
but then I would need to explicitly specify the sharedlib
file name and line number when setting the breakpoint which
didn't seem very future-proof.

What do you think?



### Eclipse Workspace Patch 1.0
#P src
Index: gdb/testsuite/gdb.mi/mi-pending.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi-pending.exp,v
retrieving revision 1.16
diff -u -r1.16 mi-pending.exp
--- gdb/testsuite/gdb.mi/mi-pending.exp 10 Jul 2012 15:32:51 -0000      1.16
+++ gdb/testsuite/gdb.mi/mi-pending.exp 25 Jul 2012 13:03:42 -0000
@@ -53,7 +53,14 @@
     ".*\\^done,bkpt=\{number=\"1\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"<PENDING>\",pending=\"pendfunc1\",times=\"0\",original-location=\"pendfunc1\"\}"\
     "MI pending breakpoint on pendfunc1"
 
+# Set pending breakpoint with a condition via MI
+# We use a condition that will prevent the bp from hitting
+mi_gdb_test "-break-insert -f -c 1==4 pendfunc0" \
+    ".*\\^done,bkpt=\{number=\"2\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"<PENDING>\",pending=\"pendfunc0\",cond=\"1==4\",times=\"0\",original-location=\"pendfunc0\"\}"\
+    "MI pending breakpoint on pendfunc0 if 1==4"
+
 mi_run_cmd
+# We should not stop on the breakpiont at pendfunc0
 mi_expect_stop "breakpoint-hit" "pendfunc1" ".*" ".*" ".*" \
     { "" "disp=\"keep\"" } \
     "Run till MI pending breakpoint on pendfunc1"
Index: gdb/testsuite/gdb.mi/mi-pendshr.c
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi-pendshr.c,v
retrieving revision 1.7
diff -u -r1.7 mi-pendshr.c
--- gdb/testsuite/gdb.mi/mi-pendshr.c   4 Jan 2012 08:17:54 -0000       1.7
+++ gdb/testsuite/gdb.mi/mi-pendshr.c   25 Jul 2012 13:03:42 -0000
@@ -17,6 +17,12 @@
 
 #include <stdio.h>
 
+void pendfunc0 (int x)
+{
+  int y = x + 4;
+  printf ("in pendfunc0, x is %d\n", x);
+}
+
 void pendfunc1 (int x)
 {
   int y = x + 4;
@@ -25,5 +31,6 @@
 
 void pendfunc (int x)
 {
+  pendfunc0 (x);
   pendfunc1 (x);
 }


  reply	other threads:[~2012-07-25 13:11 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-21  3:04 Marc Khouzam
2012-07-23 19:08 ` Tom Tromey
2012-07-24 17:42   ` Marc Khouzam
2012-07-25 13:11     ` Marc Khouzam [this message]
2012-07-25 15:50       ` Tom Tromey
2012-07-25 17:45         ` Marc Khouzam
2012-07-25 17:49           ` Tom Tromey
2012-07-25 18:26             ` Marc Khouzam
2012-07-25 18:43               ` Tom Tromey
2012-07-25 18:38                 ` 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=F7CE05678329534C957159168FA70DEC5C25002FAA@EUSAACMS0703.eamcs.ericsson.se \
    --to=marc.khouzam@ericsson.com \
    --cc=gdb-patches@sourceware.org \
    --cc=tromey@redhat.com \
    /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