Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Peter Jay Salzman <p@dirac.org>
To: Gdb Mailing List <gdb@sources.redhat.com>
Subject: question about conditional breaking
Date: Fri, 20 Sep 2002 00:36:00 -0000	[thread overview]
Message-ID: <20020920073648.GA21072@dirac.org> (raw)

dear gdb mailing list,

the gdb user's manual doesn't have a lot to say about conditional
breaking, but i think i'm beginning to understand it more thoroughly.

first, we know that the boolean expressions you'd expect to be able to
use, work as advertised.

break 1 if x > 0
break 2 if y <= x

parenthesis seem to be purely optional.

break 3 if (! x >= -1)


but there seems to be more to the story.  you can use functions too.
here's a test program:

#include <math.h>

int main(void)
{
   double l = cos(i);
   double m = y0(i);

   return 0;
}


where y0 is a bessel function of the 2nd kind (a von neumann function)
of the zeroth order.

it seems like you can use functions, like math library functions.  but
with a privisio:

   (gdb) break main if cos(3) == 0
   Breakpoint 1 at 0x8048456: file math.c, line 5.
   
   (gdb) break main if sin(3) == 0
   No symbol "sin" in current context.
   
   (gdb) break main if exp(3) == 0
   No symbol "exp" in current context.
   
   (gdb) break main if y0(3) == 0
   Note: breakpoint 1 also set at pc 0x8048456.
   Breakpoint 2 at 0x8048456: file math.c, line 5.
   
   (gdb) break main if y1(3) == 0
   No symbol "y1" in current context.


so it appears that here's the rule:

you're allowed to use any function, even library functions, provided that:

1. the library is linked to your application
2. you actually _use_ the function somewhere in your code.

to be honest, i'm not the least surprised by condition 1, but i'm
shocked by condition 2.


does anyone have anything to add to this?  am i on the right track here?

pete

-- 
Fingerprint: B9F1 6CF3 47C4 7CD8 D33E 70A9 A3B9 1945 67EA 951D


             reply	other threads:[~2002-09-20  7:36 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-09-20  0:36 Peter Jay Salzman [this message]
2002-09-20  6:46 ` Daniel Jacobowitz
2002-09-20  8:46 ` Kevin Buettner

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=20020920073648.GA21072@dirac.org \
    --to=p@dirac.org \
    --cc=gdb@sources.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