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: next/step after main() function's return


Jan Kratochvil wrote:
On Tue, 28 Dec 2010 06:20:55 +0100, Joel Brobecker wrote:
when issuing a next or step after main() function's return statement,
gdb drops to __libc_start_main() from libc on x86 (or
generic_start_main() on ppc and so on, depending on the arch if I'm
not mistaken). Is it considered a bug or it's just the expected
behavior?
I'd say that this is expected behavior. `main' is called by
__libc_start_main, so "next"-ing out of main will land in that function.

With default `set backtrace past-main off' the user may expect it to behave differently. Still the atexit functions could be "next"ed so GDB would have to identify somehow their calls.

I'm guessing this happens because libc_start_main is compiled with -g.


Otherwise, gdb would continue executing "in the woods" until exit.


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