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]

decode_variable's use of not_found_ptr


Hi all,

I tried to send this to gdb-prs, but to no avail - hopefully mmore luck here.

Anyway, sometimes when I restart a program. I get error messages telling me that a breakpoint in a shared library can't be found:

    Error in re-setting breakpoint 2:
    Function "foo" not defined.
    Error in re-setting breakpoint 2:
    Function "foo" not defined.
    Error in re-setting breakpoint 2:
    Function "foo" not defined.
    Error in re-setting breakpoint 2:
    Function "foo" not defined.
    Error in re-setting breakpoint 2:
    Function "foo" not defined.
    Error in re-setting breakpoint 2:
    Function "foo" not defined.
    Error in re-setting breakpoint 2:
    Function "foo" not defined.

I've had a quick look at the source, and the message seems to be coming from decode_variable()

The comment for this function says:

/* Decode a linespec that's a variable.  If FILE_SYMTAB is non-NULL,
   look in that symtab's static variables first.  If NOT_FOUND_PTR is
   not NULL and the function cannot be found, store boolean true in the
   location pointed to and do not issue an error message.  */


but at the bottom of the function it says:



if (not_found_ptr) *not_found_ptr = 1; throw_error (NOT_FOUND_ERROR, _("Function \"%s\" not defined."), copy);


Now, I must confess gdb's internal exception mechanism is deeply mysterious to me, but that code looks to me like it doesn't do what the comment claims. i.e. if not_found_ptr is non-NULL, it still issues the error message.


What's wrong - my reading of the code, or the code?

Cheers,

Greg


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