Mirror of the gdb mailing list
 help / color / mirror / Atom feed
* auto-solib-add for "attach" as well as "run"
@ 2000-05-04 13:25 Michael Elizabeth Chastain
  2000-05-04 22:50 ` Christopher Blizzard
  0 siblings, 1 reply; 2+ messages in thread
From: Michael Elizabeth Chastain @ 2000-05-04 13:25 UTC (permalink / raw)
  To: gdb

I have an enhancement request where a gdb user wants the
"auto-solib-add" flag to work with the "attach" command as well
as the "run" command.

Superficially, this looks like an entirely reasonable thing to do.
"run" and "attach" are different in how they handle processes,
but ought to work the same for the whole symbol-handling side of
the debugger.

Can anyone point out any gotchas or drawbacks if I just go ahead
and make "attach" honor the "auto-solib-add" flag?

Michael Chastain
chastain@redhat.com
Cygnus Solutions, a Red Hat Company
From cogen@ll.mit.edu Thu May 04 14:15:00 2000
From: David Cogen <cogen@ll.mit.edu>
To: dan@cgsoftware.com
Cc: kettenis@wins.uva.nl, gdb@sourceware.cygnus.com, cogen@poblano
Subject: Re: gdb seg violation during print command
Date: Thu, 04 May 2000 14:15:00 -0000
Message-id: <200005042111.RAA24006@ll.mit.edu>
References: <Pine.LNX.4.10.10005041243050.28288-100000@propylaea.anduin.com>
X-SW-Source: 2000-05/msg00024.html
Content-length: 1062

> Try adding a line or three to main that do nothing.

Like this?

#include <iostream>

int tteesstt11 (int)
{
  cerr << "\n";
  return 4;
}

int main ()
{
  cout << "1\n";
  cout << "1\n";
  cout << "1\n";
  cout << "1\n";
  cout << "1\n";
  cout << "1\n";
  cout << "1\n";
  cout << "1\n";
  cout << "1\n";
  cout << "1\n";
  cout << "1\n";
  cout << "1\n";
  cout << "1\n";
  cout << "1\n";
  cout << "1\n";
  cout << "1\n";
  cout << "1\n";
  cout << "1\n";
  cout << "1\n";
  cout << "1\n";
  cout << "1\n";
  cout << "1\n";
  cout << "1\n";
  cout << "1\n";
  cout << "1\n";
  cout << "1\n";
  cout << "1\n";
  cout << "1\n";
  cout << "1\n";
  cout << "1\n";
  cout << "1\n";
  cout << "1\n";
  cout << "1\n";
  cout << "1\n";
  cout << "1\n";
  cout << "1\n";
  cout << "1\n";
  cout << "1\n";
  cout << "1\n";
  cout << "1\n";
  cout << "1\n";
  cout << "1\n";
  cout << "1\n";
  cout << "1\n";
  cout << "1\n";
  cout << "1\n";
}


I set my break on the first cout in main. When I print tteesstt11(1) I still
get the debugger seg violation.

-- DavidC
From dan@cgsoftware.com Thu May 04 14:20:00 2000
From: Daniel Berlin <dan@cgsoftware.com>
To: David Cogen <cogen@ll.mit.edu>
Cc: kettenis@wins.uva.nl, gdb@sourceware.cygnus.com, cogen@poblano
Subject: Re: gdb seg violation during print command
Date: Thu, 04 May 2000 14:20:00 -0000
Message-id: <Pine.LNX.4.10.10005041418390.29014-100000@propylaea.anduin.com>
References: <200005042111.RAA24006@ll.mit.edu>
X-SW-Source: 2000-05/msg00025.html
Content-length: 1778

And i don't
Breakpoint 1, main () at a.c:11
11        cout << "1\n";
Current language:  auto; currently c++
(gdb) p tt
tt               tteesstt11(int)  ttyname
(gdb) p tteesstt11(1)
------ Arg is int [7], parm is int [7]
Overloaded function instance tteesstt11(int) # of parms 1
...Badness @ 0 : 0
...Badness @ 1 : 0
Overload resolution champion is 0, ambiguous? 0

$1 = 4
(gdb)                


I can almost guarantee this is not a gdb bug.
Compiled with both dwarf2 debug info, and stabs debug info, it works fine
on BeOS and linux.

On Thu, 4 May 2000, David Cogen wrote:

> > Try adding a line or three to main that do nothing.
> 
> Like this?
> 
> #include <iostream>
> 
> int tteesstt11 (int)
> {
>   cerr << "\n";
>   return 4;
> }
> 
> int main ()
> {
>   cout << "1\n";
>   cout << "1\n";
>   cout << "1\n";
>   cout << "1\n";
>   cout << "1\n";
>   cout << "1\n";
>   cout << "1\n";
>   cout << "1\n";
>   cout << "1\n";
>   cout << "1\n";
>   cout << "1\n";
>   cout << "1\n";
>   cout << "1\n";
>   cout << "1\n";
>   cout << "1\n";
>   cout << "1\n";
>   cout << "1\n";
>   cout << "1\n";
>   cout << "1\n";
>   cout << "1\n";
>   cout << "1\n";
>   cout << "1\n";
>   cout << "1\n";
>   cout << "1\n";
>   cout << "1\n";
>   cout << "1\n";
>   cout << "1\n";
>   cout << "1\n";
>   cout << "1\n";
>   cout << "1\n";
>   cout << "1\n";
>   cout << "1\n";
>   cout << "1\n";
>   cout << "1\n";
>   cout << "1\n";
>   cout << "1\n";
>   cout << "1\n";
>   cout << "1\n";
>   cout << "1\n";
>   cout << "1\n";
>   cout << "1\n";
>   cout << "1\n";
>   cout << "1\n";
>   cout << "1\n";
>   cout << "1\n";
>   cout << "1\n";
> }
> 
> 
> I set my break on the first cout in main. When I print tteesstt11(1) I still
> get the debugger seg violation.
> 
> -- DavidC
> 


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2000-05-04 22:50 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-05-04 13:25 auto-solib-add for "attach" as well as "run" Michael Elizabeth Chastain
2000-05-04 22:50 ` Christopher Blizzard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox