• <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 披星戴月 閱讀(565) 評論(0)  編輯 收藏 引用 所屬分類: c/c++
            <2008年10月>
            2829301234
            567891011
            12131415161718
            19202122232425
            2627282930311
            2345678

            常用鏈接

            留言簿(2)

            隨筆分類

            隨筆檔案

            文章檔案

            相冊

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            国产亚洲成人久久| 国产午夜电影久久| 蜜臀av性久久久久蜜臀aⅴ| 国产99久久精品一区二区| 国产99久久九九精品无码| 午夜精品久久久久| 久久久久久久99精品免费观看| 久久精品国产精品亚洲人人 | 久久影视综合亚洲| 久久99热这里只有精品国产| 大伊人青草狠狠久久| 中文字幕精品无码久久久久久3D日动漫 | 三上悠亚久久精品| 999久久久免费国产精品播放| 欧美日韩精品久久免费| 国产精品熟女福利久久AV| 99久久精品免费看国产一区二区三区 | 狠狠色丁香久久婷婷综合_中 | 久久久久久亚洲精品影院| 久久福利青草精品资源站免费| 久久人妻无码中文字幕| 久久亚洲精品无码播放| 国产成人久久精品区一区二区| 久久精品无码一区二区WWW| 欧美性猛交xxxx免费看久久久| 99久久中文字幕| 77777亚洲午夜久久多喷| 一本色综合网久久| 亚洲精品乱码久久久久久| 污污内射久久一区二区欧美日韩| 久久精品国产91久久综合麻豆自制| 一本色综合网久久| 精品久久亚洲中文无码| 中文字幕热久久久久久久| 久久久久久久久久久久久久| 中文字幕无码久久精品青草 | 亚洲AⅤ优女AV综合久久久| 久久本道综合久久伊人| 久久人妻少妇嫩草AV无码蜜桃| 久久国产精品无码网站| 亚洲а∨天堂久久精品9966|