再單步執行, 返回到調用main函數的函數 (gdb) si 0x400349cb in __libc_start_main (main=0x804842c <main>, argc=2, argv=0xbffff704, init=0x80482c0 <_init>, fini=0x804848c <_fini>, rtld_fini=0x4000ae60 <_dl_fini>, stack_end=0xbffff6fc) at ../sysdeps/generic/libc-start.c:92 92 ../sysdeps/generic/libc-start.c: No such file or Directory.
從上面的分析可推出, 在內存地址0xbffff6dc的內容0x08048371就是__libc_start_main函數 的返回地址了. 我們來看看是什么函數調用了__libc_start_main. (gdb) disas 0x08048371 Dump of assembler code for function _start: