我试了一下可以,下面是我进入穿梭的一个bt例子
(gdb) bt
#0 0x420d889d in select () from /lib/tls/libc.so.6
#1 0x4085b1f0 in __JCR_LIST__ () from service/libbbsnet.so
#2 0x080b98d1 in igetkey () at newio.c:633
#3 0x080b2bc6 in list_select_loop (conf=0xbfffdb20) at select.c:485
#4 0x40859077 in main_loop () at bbsnet.c:613
#5 0x408590c5 in bbsnet_main () at bbsnet.c:622
#6 0x0807e182 in exec_mbem (s=0xbfffdde1 "@mod:service/libbbsnet.so")
at comm_lists.c:423
#7 0x0807ec90 in domenu (menu_name=0x81006a8 "TOPMENU") at comm_lists.c:656
#8 0x080b7d6d in main_bbs (convit=0, argv=0xbffffc3b "bbsd:atppp")
at newmain_single.c:1253
#9 0x080b1334 in bbs_main (argv=0xbffffc3b "bbsd:atppp") at bbsd_single.c:631
#10 0x080b14c2 in bbs_standalone_main (argv=0xbffffc3b "bbsd:atppp")
at bbsd_single.c:717
#11 0x080b15fe in main (argc=3, argv=0xbfffe644) at bbsd_single.c:808
#12 0x42015704 in __libc_start_main () from /lib/tls/libc.so.6
关键是那些库一般会停在调用bbs函数的地方,所以src/目录你也要-g编译
另外gdb load的时候可能会找不到service/libbbsnet.so比方说,可能要命令行给路径
我直接在~bbs/下执行,gdb自己能找到。
【 在 deem (沙丘男爵) 的大作中提到: 】
: 就是那种通过读取配置文件的加载的动态链接库
: 比如说smth里面的bbsnet.so,libpip.so等等,程序进入gdb以后so的信息
: 一点都看不到。
: ...................
--
修改:atppp FROM 128.12.181.*
FROM 128.12.181.*