<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 打印程序動態分配內存的信息 ## 例子 #include <stdio.h> #include <malloc.h> int main(void) { char *p[10]; int i = 0; for (i = 0; i < sizeof(p)/sizeof(p[0]); i++) { p[i] = malloc(100000); } return 0; } ## 技巧 用gdb調試程序時,可以用下面的自定義命令,打印程序動態分配內存的信息: define mallocinfo set $__f = fopen("/dev/tty", "w") call malloc_info(0, $__f) call fclose($__f) end 以上面程序為例: Temporary breakpoint 5, main () at a.c:7 7 int i = 0; (gdb) mallocinfo <malloc version="1"> <heap nr="0"> <sizes> </sizes> <total type="fast" count="0" size="0"/> <total type="rest" count="0" size="0"/> <system type="current" size="135168"/> <system type="max" size="135168"/> <aspace type="total" size="135168"/> <aspace type="mprotect" size="135168"/> </heap> <total type="fast" count="0" size="0"/> <total type="rest" count="0" size="0"/> <system type="current" size="135168"/> <system type="max" size="135168"/> <aspace type="total" size="135168"/> <aspace type="mprotect" size="135168"/> </malloc> $20 = 0 $21 = 0 (gdb) n 9 for (i = 0; i < sizeof(p)/sizeof(p[0]); i++) (gdb) 11 p[i] = malloc(100000); (gdb) 9 for (i = 0; i < sizeof(p)/sizeof(p[0]); i++) (gdb) 11 p[i] = malloc(100000); (gdb) 9 for (i = 0; i < sizeof(p)/sizeof(p[0]); i++) (gdb) 11 p[i] = malloc(100000); (gdb) 9 for (i = 0; i < sizeof(p)/sizeof(p[0]); i++) (gdb) 11 p[i] = malloc(100000); (gdb) 9 for (i = 0; i < sizeof(p)/sizeof(p[0]); i++) (gdb) 11 p[i] = malloc(100000); (gdb) mallocinfo <malloc version="1"> <heap nr="0"> <sizes> </sizes> <total type="fast" count="0" size="0"/> <total type="rest" count="0" size="0"/> <system type="current" size="532480"/> <system type="max" size="532480"/> <aspace type="total" size="532480"/> <aspace type="mprotect" size="532480"/> </heap> <total type="fast" count="0" size="0"/> <total type="rest" count="0" size="0"/> <system type="current" size="532480"/> <system type="max" size="532480"/> <aspace type="total" size="532480"/> <aspace type="mprotect" size="532480"/> </malloc> $22 = 0 $23 = 0 (gdb) n 9 for (i = 0; i < sizeof(p)/sizeof(p[0]); i++) (gdb) 11 p[i] = malloc(100000); (gdb) 9 for (i = 0; i < sizeof(p)/sizeof(p[0]); i++) (gdb) 11 p[i] = malloc(100000); (gdb) 9 for (i = 0; i < sizeof(p)/sizeof(p[0]); i++) (gdb) 11 p[i] = malloc(100000); (gdb) 9 for (i = 0; i < sizeof(p)/sizeof(p[0]); i++) (gdb) 11 p[i] = malloc(100000); (gdb) 9 for (i = 0; i < sizeof(p)/sizeof(p[0]); i++) (gdb) 11 p[i] = malloc(100000); (gdb) 9 for (i = 0; i < sizeof(p)/sizeof(p[0]); i++) (gdb) mallocinfo <malloc version="1"> <heap nr="0"> <sizes> </sizes> <total type="fast" count="0" size="0"/> <total type="rest" count="0" size="0"/> <system type="current" size="1134592"/> <system type="max" size="1134592"/> <aspace type="total" size="1134592"/> <aspace type="mprotect" size="1134592"/> </heap> <total type="fast" count="0" size="0"/> <total type="rest" count="0" size="0"/> <system type="current" size="1134592"/> <system type="max" size="1134592"/> <aspace type="total" size="1134592"/> <aspace type="mprotect" size="1134592"/> </malloc> $24 = 0 $25 = 0 可以看到gdb輸出了動態分配內存的變化信息。 參見[stackoverflow](http://stackoverflow.com/questions/1471226/most-tricky-useful-commands-for-gdb-debugger). ## 貢獻者 nanxiao
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看