• <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 披星戴月 閱讀(577) 評論(0)  編輯 收藏 引用 所屬分類: c/c++
            <2025年8月>
            272829303112
            3456789
            10111213141516
            17181920212223
            24252627282930
            31123456

            常用鏈接

            留言簿(2)

            隨筆分類

            隨筆檔案

            文章檔案

            相冊

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            久久久久免费视频| 青青久久精品国产免费看| 国产精品美女久久久久av爽 | www性久久久com| 波多野结衣中文字幕久久 | 激情伊人五月天久久综合| 国产精品成人99久久久久 | 久久夜色精品国产噜噜亚洲AV | 亚洲av伊人久久综合密臀性色| 久久精品中文无码资源站| 色欲久久久天天天综合网| 久久精品成人免费看| 久久精品免费网站网| 日韩AV无码久久一区二区| 青青国产成人久久91网| 色老头网站久久网| 伊人久久大香线蕉精品| 亚洲日韩中文无码久久| 久久亚洲高清综合| 久久99国产综合精品女同| 日韩亚洲国产综合久久久| 久久精品中文字幕久久| 亚洲女久久久噜噜噜熟女| 无码人妻少妇久久中文字幕| 久久伊人精品青青草原高清| 亚洲狠狠婷婷综合久久蜜芽| 亚洲精品tv久久久久久久久久| 九九99精品久久久久久| 国内精品九九久久精品| 三级片免费观看久久| 久久九九免费高清视频| 91精品国产高清久久久久久91| 国产精品久久久天天影视| 久久人爽人人爽人人片AV | 伊人久久大香线蕉综合网站| 国产精品一区二区久久| 久久ww精品w免费人成| 久久人人爽人人爽人人片av高请| 人妻精品久久无码专区精东影业| 无码人妻精品一区二区三区久久久| 中文字幕无码av激情不卡久久|