"break main; run" test
Andrew Cagney
cagney@gnu.org
Fri Jan 9 16:56:00 GMT 2004
FYI, the release process recommends the following smoke test:
> 15.7.2 Sanity check the tar ball
>
> Pick a popular machine (Solaris/PPC?) and try the build on that.
>
>
>
> $ bunzip2 < gdb-5.2.tar.bz2 | tar xpf -
> $ cd gdb-5.2
> $ ./configure
> $ make
> ...
> $ ./gdb/gdb ./gdb/gdb
> GNU gdb 5.2
> ...
> (gdb) b main
> Breakpoint 1 at 0x80732bc: file main.c, line 734.
> (gdb) run
> Starting program: /tmp/gdb-5.2/gdb/gdb
>
> Breakpoint 1, main (argc=1, argv=0xbffff8b4) at main.c:734
> 734 catch_errors (captured_main, &args, "", RETURN_MASK_ALL);
> (gdb) print args
> $1 = {argc = 136426532, argv = 0x821b7f0}
> (gdb)
Should note that I intend tweaking the doco so that "backtrace", instead
of "print args" is used. I suspect that "backtrace" is GDB's second
most popular user command (the first is "run") :-)
Andrew
>> Date: Thu, 8 Jan 2004 22:16:21 -0500 (EST)
>> From: mec.gnu@mindspring.com (Michael Elizabeth Chastain)
>>
>
>> > When people refer to the test of starting gdb on a program, setting a
>> > breakpoint on "main", and running to that point, is there a particular
>> > standard test program in mind? "Hello world"? The GDB binary itself?
>
>>
>> You are right; it is ambiguous.
>
>
> Seconded. Perhaps we should replace that language with something less
> ambiguous.
>
>
>> To me, it usually means "the gdb binary itself", since the gdb binary is
>> a large program and it's guaranteed to exist. Sometimes it means
>> "hello world", and sometimes it means "any random program".
>
>
> It should IMHO preferably be some non-trivially large program, as some
> subtle problems don't get expiosed unless GDB needs to deal with
> complex debug info structures. It certainly cannot be a program with
> no debug info, since then it's not guaranteed that GDB will know where
> to find the symbol `main'.
>
More information about the Gdb
mailing list