青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

大龍的博客

常用鏈接

統計

最新評論

valgrind memcheck 錯誤分析收藏 -------- 轉

1.默認使用工具memcheck

2.輸出到XML文件:valgrind --leak-check=full --xml=yes --log-file="log.xml" myprog arg1 arg2

3.錯誤解釋

3.1Illegal read / Illegal write errors

例如:

Invalid read of size 4
at 0x40F6BBCC: (within /usr/lib/libpng.so.2.1.0.9)
by 0x40F6B804: (within /usr/lib/libpng.so.2.1.0.9)
by 0x40B07FF4: read_png_image(QImageIO *) (kernel/qpngio.cpp:326)
by 0x40AC751B: QImageIO::read() (kernel/qimage.cpp:3621)
Address 0xBFFFF0E0 is not stack'd, malloc'd or free'd
這個錯誤的發生是因為對一些memcheck猜想不應該訪問的內存進行了讀寫。
3.2 Use of uninitialised values

例如:

Conditional jump or move depends on uninitialised value(s)
at 0x402DFA94: _IO_vfprintf (_itoa.h:49)
by 0x402E8476: _IO_printf (printf.c:36)
by 0x8048472: main (tests/manuel1.c:8)
這個錯誤的發生是因為使用了未初始化的數據。一般情況下有兩種情形容易出現這個錯誤:
程序中的局部變量未初始化;
C語言malloc的內存未初始化;C++中new的對象其成員未被初始化。
 
3.3 Illegal frees
例如:
Invalid free()
at 0x4004FFDF: free (vg_clientmalloc.c:577)
by 0x80484C7: main (tests/doublefree.c:10)
Address 0x3807F7B4 is 0 bytes inside a block of size 177 free'd
at 0x4004FFDF: free (vg_clientmalloc.c:577)
by 0x80484C7: main (tests/doublefree.c:10)
 
3.4 When a block is freed with an inappropriate deallocation function
例如:
Mismatched free() / delete / delete []
at 0x40043249: free (vg_clientfuncs.c:171)
by 0x4102BB4E: QGArray::~QGArray(void) (tools/qgarray.cpp:149)
by 0x4C261C41: PptDoc::~PptDoc(void) (include/qmemarray.h:60)
by 0x4C261F0E: PptXml::~PptXml(void) (pptxml.cc:44)
Address 0x4BB292A8 is 0 bytes inside a block of size 64 alloc'd
at 0x4004318C: operator new[](unsigned int) (vg_clientfuncs.c:152)
by 0x4C21BC15: KLaola::readSBStream(int) const (klaola.cc:314)
by 0x4C21C155: KLaola::stream(KLaola::OLENode const *) (klaola.cc:416)
by 0x4C21788F: OLEFilter::convert(QCString const &) (olefilter.cc:272)
  • If allocated with malloc, calloc, realloc, valloc or memalign, you must deallocate with free.

  • If allocated with new[], you must deallocate with delete[].

  • If allocated with new, you must deallocate with delete.

    linux系統對上述錯誤可能不在意,但是移值到其他平臺時卻會有問題。

    3.5 Passing system call parameters with inadequate read/write permissions

  • 例如:
    Syscall param write(buf) points to uninitialised byte(s)
    at 0x25A48723: __write_nocancel (in /lib/tls/libc-2.3.3.so)
    by 0x259AFAD3: __libc_start_main (in /lib/tls/libc-2.3.3.so)
    by 0x8048348: (within /auto/homes/njn25/grind/head4/a.out)
    Address 0x25AB8028 is 0 bytes inside a block of size 10 alloc'd
    at 0x259852B0: malloc (vg_replace_malloc.c:130)
    by 0x80483F1: main (a.c:5)
    Syscall param exit(error_code) contains uninitialised byte(s)
    at 0x25A21B44: __GI__exit (in /lib/tls/libc-2.3.3.so)
    by 0x8048426: main (a.c:8)
    Memcheck檢查所有的被系統調用的參數。
  • It checks all the direct parameters themselves.

  • Also, if a system call needs to read from a buffer provided by your program, Memcheck checks that the entire buffer is addressable and has valid data, ie, it is readable.

  • Also, if the system call needs to write to a user-supplied buffer, Memcheck checks that the buffer is addressable.

    例如:

    #include <stdlib.h> #include <unistd.h> int main( void ) { char* arr = malloc(10); int* arr2 = malloc(sizeof(int)); write( 1 /* stdout */, arr, 10 ); exit(arr2[0]); }

    錯誤信息:

    Syscall param write(buf) points to uninitialised byte(s) at 0x25A48723: __write_nocancel (in /lib/tls/libc-2.3.3.so) by 0x259AFAD3: __libc_start_main (in /lib/tls/libc-2.3.3.so) by 0x8048348: (within /auto/homes/njn25/grind/head4/a.out) Address 0x25AB8028 is 0 bytes inside a block of size 10 alloc'd at 0x259852B0: malloc (vg_replace_malloc.c:130) by 0x80483F1: main (a.c:5) Syscall param exit(error_code) contains uninitialised byte(s) at 0x25A21B44: __GI__exit (in /lib/tls/libc-2.3.3.so) by 0x8048426: main (a.c:8)

    傳遞了無效參數到系統函數中。

    3.6 Overlapping source and destination blocks

    C的以下庫函數拷貝數據從一塊內存到另一塊內存時: memcpy(), strcpy(), strncpy(), strcat(), strncat(). 源和目的都不允許溢出。

    例如:

    ==27492== Source and destination overlap in memcpy(0xbffff294, 0xbffff280, 21) ==27492== at 0x40026CDC: memcpy (mc_replace_strmem.c:71) ==27492== by 0x804865A: main (overlap.c:40)

    3.7 Memory leak detection

    錯誤信息:

    Still reachable: A pointer to the start of the block is found. This usually indicates programming sloppiness. Since the block is still pointed at, the programmer could, at least in principle, free it before program exit. Because these are very common and arguably not a problem, Memcheck won't report such blocks unless --show-reachable=yes is specified.

    Possibly lost, or "dubious": A pointer to the interior of the block is found. The pointer might originally have pointed to the start and have been moved along, or it might be entirely unrelated. Memcheck deems such a block as "dubious", because it's unclear whether or not a pointer to it still exists.

    Definitely lost, or "leaked": The worst outcome is that no pointer to the block can be found. The block is classified as "leaked

  • posted on 2009-02-27 11:38 大龍 閱讀(2394) 評論(0)  編輯 收藏 引用

    青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美亚洲一区二区三区| 欧美四级在线观看| 国产欧美在线播放| 欧美一区免费视频| 欧美亚洲在线播放| 在线观看欧美亚洲| 亚洲第一区在线| 欧美女人交a| 亚洲淫性视频| 欧美在线啊v| 91久久精品日日躁夜夜躁国产| 欧美国产大片| 欧美日韩亚洲成人| 久久av老司机精品网站导航| 亚洲最新在线视频| 亚洲欧美久久久久一区二区三区| 国产日韩视频一区二区三区| 欧美91大片| 欧美性猛片xxxx免费看久爱| 久久精品天堂| 欧美激情在线| 久久久成人网| 欧美日韩一区不卡| 久久在线免费| 国产精品a久久久久| 久久免费精品日本久久中文字幕| 久热爱精品视频线路一| 一本久道综合久久精品| 久久国产欧美精品| 亚洲一区二区av电影| 欧美在线日韩精品| 一级成人国产| 久久免费黄色| 久久er精品视频| 欧美日韩国产不卡在线看| 久久久久久久久综合| 欧美三级视频在线播放| 蜜月aⅴ免费一区二区三区| 欧美香蕉视频| 91久久一区二区| 伊人久久久大香线蕉综合直播| 夜夜爽99久久国产综合精品女不卡 | 欧美日韩一区二区免费视频| 久久精品系列| 国产精品青草久久久久福利99| 亚洲国产精品悠悠久久琪琪| 国产亚洲一区二区三区在线观看| 亚洲国产婷婷综合在线精品| 国内精品久久久久影院薰衣草| 日韩一级在线| 一区二区激情视频| 欧美福利专区| 欧美激情一区三区| 在线观看一区| 久久美女艺术照精彩视频福利播放| 性亚洲最疯狂xxxx高清| 欧美日韩一区二区免费在线观看| 亚洲国产aⅴ天堂久久| 精品99视频| 久久久亚洲高清| 久久久久久久久久久成人| 国产欧美丝祙| 欧美一级免费视频| 久久久xxx| 在线欧美日韩精品| 免费在线观看精品| 亚洲国产精品va在看黑人| 在线观看久久av| 久热精品视频在线| 亚洲福利在线看| 中文国产一区| 国产九区一区在线| 先锋影音一区二区三区| 久久精品人人| 亚洲福利在线观看| 欧美破处大片在线视频| 亚洲免费福利视频| 亚洲综合国产激情另类一区| 国产精品毛片va一区二区三区| 亚洲一区免费看| 欧美国产成人精品| 9l视频自拍蝌蚪9l视频成人| 99国产精品私拍| 国产精品裸体一区二区三区| 亚洲欧美久久久久一区二区三区| 久久精品免费看| 亚洲国产一区视频| 欧美系列一区| 久久精品一本| 日韩午夜精品| 久久久久成人网| 亚洲免费av电影| 国产精品欧美风情| 久久嫩草精品久久久久| 亚洲精品国产品国语在线app| 亚洲一区在线播放| 激情综合亚洲| 欧美午夜在线一二页| 性欧美xxxx大乳国产app| 欧美成人午夜激情| 亚洲欧美成人一区二区三区| 尤物视频一区二区| 国产精品草草| 老牛嫩草一区二区三区日本| av成人免费| 你懂的国产精品永久在线| 亚洲午夜国产一区99re久久 | 欧美精品aa| 午夜精彩国产免费不卡不顿大片| 欧美成人精品1314www| 亚洲一二三级电影| 亚洲国产欧美久久| 国产主播一区二区三区| 欧美精品一线| 久久五月激情| 欧美一区二区大片| 妖精视频成人观看www| 欧美激情亚洲激情| 久久综合久久久| 欧美亚洲一区在线| 在线视频亚洲| 亚洲啪啪91| 伊人婷婷久久| 国产主播精品| 国产日韩在线看片| 国产精品欧美风情| 国产精品福利av| 欧美日韩精品一区二区三区四区| 免费看的黄色欧美网站| 久久精品人人爽| 欧美亚洲系列| 羞羞色国产精品| 亚洲综合电影| 亚洲欧美日韩国产综合| 亚洲婷婷综合色高清在线| 最近看过的日韩成人| 亚洲国产成人精品女人久久久 | 亚洲美女福利视频网站| 亚洲国产黄色片| 亚洲国产成人不卡| 亚洲国产精品电影| 亚洲国产日本| 亚洲精品一二区| 日韩一二三区视频| 一区二区三区国产精品| 亚洲美洲欧洲综合国产一区| 最新亚洲激情| 99精品视频免费| 亚洲少妇自拍| 欧美亚洲综合网| 久久精品女人| 久久亚洲图片| 欧美激情亚洲视频| 免费欧美在线视频| 亚洲黄一区二区三区| 亚洲精品黄网在线观看| 99re热这里只有精品视频| 一本久久综合亚洲鲁鲁五月天| 在线中文字幕一区| 性色av一区二区三区在线观看| 久久成人在线| 蜜臀久久久99精品久久久久久| 欧美粗暴jizz性欧美20| 欧美日韩精品伦理作品在线免费观看| 欧美巨乳在线| 国产欧美一区二区白浆黑人| 黑人巨大精品欧美黑白配亚洲| 伊大人香蕉综合8在线视| 91久久久在线| 香蕉免费一区二区三区在线观看| 久久精品国产欧美亚洲人人爽| 欧美成人在线免费观看| 亚洲美女少妇无套啪啪呻吟| 亚洲图片欧美日产| 久久在线免费观看| 欧美性片在线观看| 亚洲大胆在线| 亚洲男人影院| 欧美福利电影网| 亚洲欧美激情视频| 欧美高清你懂得| 国产精品一区免费在线观看| 在线观看亚洲视频| 先锋影音国产精品| 亚洲高清不卡在线| 午夜精品一区二区在线观看| 美女黄毛**国产精品啪啪| 欧美三区美女| 亚洲精品三级| 久久精品人人做人人爽| 亚洲免费高清| 猛干欧美女孩| 国模吧视频一区| 亚洲一区在线播放| 亚洲精品一区二区在线| 久久久久国产精品人| 国产精品视频一二| 中文在线一区| 亚洲福利在线看| 免费观看成人www动漫视频|