看板 PttCurrent 關於我們 聯絡資訊
※ [本文轉錄自 Administor 看板] 作者: in2 (使用者名單是可以) 看板: Administor 標題: Re: 如何得知一個 function 會用多少 heap... 時間: Sun Jul 21 01:56:21 2002 ※ 引述《Action (雪...)》之銘言: 下面是從系統一啟動, accept(), 我自己 login, 進 userlist , 去 SYSOP post 了篇文章又砍掉, 再正常離線的記憶體使用: Breakpoint 2, CALLOC (number=24, size=519) at mbbsd.c:10 #1 0x8088f2f in initscr () at screen.c:33 #2 0x807d800 in do_term_init () at mbbsd.c:920 #3 0x807d969 in start_client () at mbbsd.c:959 Breakpoint 1, MALLOC (size=32896) at mbbsd.c:5 zap和我的最愛各 32k #1 0x8057d5e in init_brdbuf () at board.c:237 #2 0x807d1cd in user_login () at mbbsd.c:795 #3 0x807d995 in start_client () at mbbsd.c:963 Breakpoint 1, MALLOC (size=32900) at mbbsd.c:5 #1 0x8057d72 in init_brdbuf () at board.c:238 #2 0x807d1cd in user_login () at mbbsd.c:795 #3 0x807d995 in start_client () at mbbsd.c:963 下面這個是進我的最愛, 因為不知道會有幾個最愛, 所以只好全部 malloc 進來 (nbrd = (boardstat_t *) malloc(numboards * sizeof(boardstat_t));) 共 163k, 不過一旦離開這個畫面就會放掉. Breakpoint 1, MALLOC (size=163840) at mbbsd.c:5 #1 0x8058609 in load_boards (key=0xbfbff82c "") at board.c:447 #2 0x805918d in choose_board (newflag=0) at board.c:716 #3 0x805a0a8 in Boards () at board.c:1080 Breakpoint 2, CALLOC (number=20, size=128) at mbbsd.c:10 #1 0x80860c0 in i_read (cmdmode=13, direct=0xbfbff704 "boards/S/SYSOP/.DIR", dotitle=0x80526cc <readtitle>, doentry=0x80526fc <readdoent>, rcmdlist=0x80b68bc, bidcache=1) at read.c:743 #2 0x805748a in Read () at bbs.c:1912 #3 0x8059e49 in choose_board (newflag=0) at board.c:1017 Breakpoint 1, MALLOC (size=16) at mbbsd.c:5 #1 0x80848dd in getkeep (s=0x80c51e0 "boards/S/SYSOP/.DIR", def_topline=2082, def_cursline=2101) at read.c:202 #2 0x80862b4 in i_read (cmdmode=13, direct=0xbfbff704 "boards/S/SYSOP/.DIR", dotitle=0x80526cc <readtitle>, doentry=0x80526fc <readdoent>, rcmdlist=0x80b68bc, bidcache=1) at read.c:793 #3 0x805748a in Read () at bbs.c:1912 Breakpoint 1, MALLOC (size=20) at mbbsd.c:5 #1 0x8084900 in getkeep (s=0x80c51e0 "boards/S/SYSOP/.DIR", def_topline=2082, def_cursline=2101) at read.c:203 #2 0x80862b4 in i_read (cmdmode=13, direct=0xbfbff704 "boards/S/SYSOP/.DIR", dotitle=0x80526cc <readtitle>, doentry=0x80526fc <readdoent>, rcmdlist=0x80b68bc, bidcache=1) at read.c:793 #3 0x805748a in Read () at bbs.c:1912 Breakpoint 1, MALLOC (size=524) at mbbsd.c:5 #1 0x806a670 in alloc_line () at edit.c:178 #2 0x806db5e in vedit (fpath=0xbfbff108 "boards/S/SYSOP/M.1027187179.A.B5C", saveheader=1, islocal=0xbfbfefbc) at edit.c:1604 #3 0x8053677 in do_general () at bbs.c:472 Breakpoint 1, MALLOC (size=524) at mbbsd.c:5 #1 0x806a670 in alloc_line () at edit.c:178 #2 0x806a874 in split (line=0x8110000, pos=46) at edit.c:268 #3 0x806ab6e in insert_string (str=0x80a779c "") at edit.c:356 Breakpoint 1, MALLOC (size=524) at mbbsd.c:5 #1 0x806a670 in alloc_line () at edit.c:178 #2 0x806a874 in split (line=0x8117c00, pos=6) at edit.c:268 #3 0x806ec04 in vedit (fpath=0xbfbff108 "boards/S/SYSOP/M.1027187179.A.B5C", saveheader=1, islocal=0xbfbfefbc) at edit.c:1967 Breakpoint 1, MALLOC (size=524) at mbbsd.c:5 #1 0x806a670 in alloc_line () at edit.c:178 #2 0x806a874 in split (line=0x8111000, pos=8) at edit.c:268 #3 0x806ec04 in vedit (fpath=0xbfbff108 "boards/S/SYSOP/M.1027187179.A.B5C", saveheader=1, islocal=0xbfbfefbc) at edit.c:1967 Breakpoint 1, MALLOC (size=524) at mbbsd.c:5 #1 0x806a670 in alloc_line () at edit.c:178 #2 0x806a874 in split (line=0x8111400, pos=8) at edit.c:268 #3 0x806ec04 in vedit (fpath=0xbfbff108 "boards/S/SYSOP/M.1027187179.A.B5C", saveheader=1, islocal=0xbfbfefbc) at edit.c:1967 Program exited normally. (gdb) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.30.143 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.30.143