<small id='J7rML'></small><noframes id='J7rML'>

  • <i id='J7rML'><tr id='J7rML'><dt id='J7rML'><q id='J7rML'><span id='J7rML'><b id='J7rML'><form id='J7rML'><ins id='J7rML'></ins><ul id='J7rML'></ul><sub id='J7rML'></sub></form><legend id='J7rML'></legend><bdo id='J7rML'><pre id='J7rML'><center id='J7rML'></center></pre></bdo></b><th id='J7rML'></th></span></q></dt></tr></i><div id='J7rML'><tfoot id='J7rML'></tfoot><dl id='J7rML'><fieldset id='J7rML'></fieldset></dl></div>

      1. <legend id='J7rML'><style id='J7rML'><dir id='J7rML'><q id='J7rML'></q></dir></style></legend>
        <tfoot id='J7rML'></tfoot>
          <bdo id='J7rML'></bdo><ul id='J7rML'></ul>

        您如何检测/避免(非托管)代码中的内存泄漏?

        时间:2023-09-26

            <small id='QdAhC'></small><noframes id='QdAhC'>

            <i id='QdAhC'><tr id='QdAhC'><dt id='QdAhC'><q id='QdAhC'><span id='QdAhC'><b id='QdAhC'><form id='QdAhC'><ins id='QdAhC'></ins><ul id='QdAhC'></ul><sub id='QdAhC'></sub></form><legend id='QdAhC'></legend><bdo id='QdAhC'><pre id='QdAhC'><center id='QdAhC'></center></pre></bdo></b><th id='QdAhC'></th></span></q></dt></tr></i><div id='QdAhC'><tfoot id='QdAhC'></tfoot><dl id='QdAhC'><fieldset id='QdAhC'></fieldset></dl></div>

              <tbody id='QdAhC'></tbody>
            <legend id='QdAhC'><style id='QdAhC'><dir id='QdAhC'><q id='QdAhC'></q></dir></style></legend>
            • <tfoot id='QdAhC'></tfoot>

                <bdo id='QdAhC'></bdo><ul id='QdAhC'></ul>
                  本文介绍了您如何检测/避免(非托管)代码中的内存泄漏?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  在非托管 C/C++ 代码中,检测内存泄漏的最佳做法是什么?以及要避免的编码指南?(好像就这么简单;)

                  In unmanaged C/C++ code, what are the best practices to detect memory leaks? And coding guidelines to avoid? (As if it's that simple ;)

                  我们过去曾使用过一些愚蠢的方法:每次内存分配调用时计数器递增,释放时递减.程序结束时,计数器值应为零.

                  We have used a bit of a silly way in the past: having a counter increment for every memory allocation call and decrement while freeing. At the end of the program, the counter value should be zero.

                  我知道这不是一个好方法,并且有一些问题.(例如,如果您要释放由平台 API 调用分配的内存,则您的分配计数将与您的释放计数不完全匹配.当然,我们在调用已分配内存的 API 调用时增加了计数器.)

                  I know this is not a great way and there are a few catches. (For instance, if you are freeing memory which was allocated by a platform API call, your allocation count will not exactly match your freeing count. Of course, then we incremented the counter when calling API calls that allocated memory.)

                  我期待着您的经验、建议,也许还可以参考一些简化此过程的工具.

                  I am expecting your experiences, suggestions and maybe some references to tools which simplify this.

                  推荐答案

                  如果您的 C/C++ 代码可移植到 *nix,那么没有什么比 Valgrind.

                  If your C/C++ code is portable to *nix, few things are better than Valgrind.

                  这篇关于您如何检测/避免(非托管)代码中的内存泄漏?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:cpp - valgrind - 读取大小 8 无效 下一篇:如何正确取消初始化 OpenSSL

                  相关文章

                1. <small id='PpQYo'></small><noframes id='PpQYo'>

                2. <legend id='PpQYo'><style id='PpQYo'><dir id='PpQYo'><q id='PpQYo'></q></dir></style></legend>

                  <i id='PpQYo'><tr id='PpQYo'><dt id='PpQYo'><q id='PpQYo'><span id='PpQYo'><b id='PpQYo'><form id='PpQYo'><ins id='PpQYo'></ins><ul id='PpQYo'></ul><sub id='PpQYo'></sub></form><legend id='PpQYo'></legend><bdo id='PpQYo'><pre id='PpQYo'><center id='PpQYo'></center></pre></bdo></b><th id='PpQYo'></th></span></q></dt></tr></i><div id='PpQYo'><tfoot id='PpQYo'></tfoot><dl id='PpQYo'><fieldset id='PpQYo'></fieldset></dl></div>

                    <tfoot id='PpQYo'></tfoot>
                        <bdo id='PpQYo'></bdo><ul id='PpQYo'></ul>