read_post()
#0 0x28153b20 in nanosleep () from /usr/lib/libc.so.4
#1 0x28121d22 in sleep () from /usr/lib/libc.so.4
#2 0x807b92c in abort_bbs_debug (sig=11) at mbbsd.c:221
#3 0xbfbfffac in ?? ()
#4 0x80868ad in i_read_key (rcmdlist=0x80b71dc, locmem=0x80e9030, ch=114,
bid=3258) at read.c:730
#5 0x8086e69 in i_read (cmdmode=13, direct=0xbfbff620 "boards/p/prozac/.DIR",
dotitle=0x80526d4 <readtitle>, doentry=0x8052704 <readdoent>,
rcmdlist=0x80b71dc, bidcache=3258) at read.c:891
#6 0x8057492 in Read () at bbs.c:1891
#7 0x8059e59 in choose_board (newflag=0) at board.c:981
#8 0x805a003 in choose_board (newflag=0) at board.c:1017
#9 0x805a088 in root_board () at board.c:1033
#10 0x807ecfe in domenu (cmdmode=1, cmdtitle=0x80ab78f "主功\能表", cmd=13,
cmdtable=0x80b8b48) at menu.c:257
#11 0x807daa6 in start_client () at mbbsd.c:982
#12 0x807e04c in daemon_login (argc=2, argv=0xbfbffac8, envp=0xbfbffad4)
at mbbsd.c:1306
#13 0x807dd00 in main (argc=2, argv=0xbfbffac8, envp=0xbfbffad4)
at mbbsd.c:1189
#14 0x804a171 in _start ()
(gdb) down
#4 0x80868ad in i_read_key (rcmdlist=0x80b71dc, locmem=0x80e9030, ch=114,
bid=3258) at read.c:730
default:
--
for(i = 0; rcmdlist[i].fptr; i++) {
if(rcmdlist[i].key == ch) {
=> mode = (*(rcmdlist[i].fptr))(locmem->crs_ln,
&headers[locmem->crs_ln -
locmem->top_ln], currdirect);
break;
}
--
(gdb) print rcmdlist[i].fptr
$2 = (int (*)()) 0x80547d8 <read_post>
(gdb) print locmem->crs_ln
$3 = 4617
(gdb) print headers[locmem->crs_ln - locmem->top_ln]
$4 = (fileheader_t *) 0x8130780
(gdb) print headers[locmem->crs_ln - locmem->top_ln]
Error accessing memory address 0x8130780: Bad address.
(gdb) print locmem->crs_ln - locmem->top_ln
$5 = 2319
(gdb) print currdirect
$6 = "boards/p/prozac/.DIR", '\000' <repeats 43 times>
(gdb)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.30.143