This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: Multiprogram teaser
- From: Michael Snyder <msnyder at specifix dot com>
- To: Stan Shebs <stan at codesourcery dot com>
- Cc: gdb at sourceware dot org
- Date: Mon, 28 Jul 2008 20:08:43 -0700
- Subject: Re: Multiprogram teaser
- References: <488E7670.40609@codesourcery.com>
Very teasy. ;-)
Say, how come you're stan at cs.com? Was "shebs" taken?
;-)
On Mon, 2008-07-28 at 18:46 -0700, Stan Shebs wrote:
> Here's a little teaser showing the results of me flogging GDB's source
> code. In addition to the fun aspect of listing the main()s of two
> different programs, it points up the the potential confusion of having
> several programs in a session. What I've got so far in my prototype is
> the ability to collect multiple execs from the command line, the
> creation of "exec" objects from which you can select one as "current",
> and some symbol table hacking to restrict lookups to the current executable.
>
> stan@adell:~/mpgdb/linux/gdb$ ./gdb -nx ~/hello ~/goodbye
> GNU gdb (GDB) 6.8.50.20080728-cvs
> [...]
> Attaching objfile /home/stan/hello to exec /home/stan/hello
> Attaching objfile /home/stan/goodbye to exec /home/stan/goodbye
> (gdb) list main
> 1 int glob = 45;
> 2
> 3 main() {
> 4 mailand();
> 5 foo(glob);
> 6 printf("goodbye cruel world\n");
> 7 }
> 8
> 9 foo(int x) {
> 10 return x + 92;
> (gdb) exec /home/stan/hello
> Setting current exec to /home/stan/hello.
> (gdb) list main
> 3 if (bar == 0)
> 4 exit(1);
> 5 }
> 6
> 7 main()
> 8 {
> 9 bar();
> 10 printf("hello world\n");
> 11 }
> 12
> (gdb)
>
>
> Stan
>
>
>