• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 34,  comments - 5,  trackbacks - 0

            I hate crashes that disappear when run under the debugger and I had one when
            porting mupdf to Windows.

            It helps to know that there’s at least one reason for a changed behavior under
            the debugger: it automatically triggers using debugging heap. While debugging
            heap usually helps find problems, sometimes it does the opposite by changing
            the details of memory allocation.

            One helpful tool when debugging memory problems on Windows is gflags which can
            enable page heap instrumentation for a given program. It works by putting each
            allocation into a separate region of memory and putting a non-readable page
            right after that. Also, upon freeing it makes the memory unreadable. That way
            an overwrite of memory block while it’s still being used or accessing the
            memory after it was freed will cause immediate crash.

            The downside is that using gflags uses much more memory. But in those days of
            cheap gigabytes it’s not a problem that can’t be solved with a couple hundred
            bucks.

            Basic usage of gflags.exe is simple:
            gflags /p /full /enable foo.exe

            From now on foo.exe will always be run with this instrumentation turned on. To
            disable, do
            gflags /p /disable foo.exe

            To see which programs have page heap enabled, do gflags /p. gflags offers many
            other option and you can learn about them via gflags /?. If you run gflags
            without any options, you’ll get a (very confusing) GUI.

            It worked like a charm. I got a crash on accessing freed memory and all I had
            to do was to backtrack to where this memory was allocated to figure out the
            problem.

            reference: http://blog.kowalczyk.info/article/gflags-a-debugging-story.html

            posted on 2009-07-14 12:47 披星戴月 閱讀(567) 評論(0)  編輯 收藏 引用 所屬分類: c/c++
            <2009年7月>
            2829301234
            567891011
            12131415161718
            19202122232425
            2627282930311
            2345678

            常用鏈接

            留言簿(2)

            隨筆分類

            隨筆檔案

            文章檔案

            相冊

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            人妻无码αv中文字幕久久琪琪布| 婷婷综合久久中文字幕| 久久精品国产72国产精福利| 精品国产综合区久久久久久| 久久久噜噜噜久久中文字幕色伊伊 | 久久国产精品无码网站| 久久这里只有精品视频99| 国产毛片欧美毛片久久久| 国产精品久久成人影院| 亚洲欧美另类日本久久国产真实乱对白 | 亚洲日本va午夜中文字幕久久 | 国产精品久久久久aaaa| 久久精品一区二区三区中文字幕| 久久综合亚洲色一区二区三区| 久久久无码精品亚洲日韩按摩 | 色综合久久中文色婷婷| 99久久这里只精品国产免费 | 色播久久人人爽人人爽人人片aV| 色欲久久久天天天综合网| 久久国产免费直播| 久久免费的精品国产V∧| 精品久久久久久无码国产| 久久九九精品99国产精品| 久久妇女高潮几次MBA| 久久久久综合国产欧美一区二区| 99久久婷婷免费国产综合精品| 色狠狠久久综合网| 久久久久亚洲av成人无码电影| 久久精品国产免费| 国产产无码乱码精品久久鸭| 国内精品人妻无码久久久影院导航| 久久久噜噜噜久久| 久久99国产一区二区三区| 国产精品免费久久久久久久久 | 一本色综合网久久| 女人高潮久久久叫人喷水| 四虎国产精品成人免费久久| 香蕉久久影院| 久久精品国产99国产精品亚洲| 精品国产乱码久久久久久呢| 中文字幕无码av激情不卡久久|