This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: basic gdb usage question


thanks for the reply first of all,

well, with respect to the local scope this is what i thought i tried. In 
particular this is what i did:

break myfile_1.cpp:700 if (myfile_1.cpp:mylocalvar_1==1 && 
myfile_2.cpp:myothervar==2)

but gdb gave me:
"Junk at end of arguments." 
So i figure something is wrong with my syntax.

Is there anything wrong with the above?

mat

On Monday 25 June 2007 17:22, Michael Snyder wrote:
> The condition on a breakpoint can be anything that could be expressed as a
> C expression, eg:
>
>     (gdb) break <file A>:<line M> if (X && Y)
>
> You're right, two breakpoints would not meet that requirement.
> However, you CAN have arbitrarily many breakpoints at the same
> location, and their conditions will all be evaluated, so if you
> had an "or" instead of an "and" (if you wanted to stop if X or Y),
> you could use multiple breakpoints:
>
>     break foo.c:17 if (X)
>     break foo.c:17 if (Y)
>
> X and Y don't have to be in the local scope, so long as they are
> in "visible scope".  gdb's concept of visible scope is a bit more
> permissive than C -- a static variable from another source file
> can be used so long as it is unambiguous.  If it is ambiguous, it
> can be specified as "foo.c:var".


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]