在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何使用valgrind對代碼進行內存泄露檢測

麥辣雞腿堡 ? 來源:嵌入式Linux充電站 ? 作者: Vincent ? 2023-10-04 14:56 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

代碼可能存在內存泄露怎么辦?

使用valgrind可以對代碼進行內存泄露檢測。

valgrind下載安裝

圖片

安裝:

1、tar –jxvf valgrind-3.21.0.tar.bz2
2、cd valgrind-3.21.0
3、./configure --prefix=/home/book/valgrind-3.21.0/install
4、make
5、make install

--prefix為指定安裝路徑,可以不指定,使用默認的,即執行./configure

內存泄露測試

測試程序test.c

分配40個字節的buffer,越界訪問buf[10].

#include < stdio.h >
#include < stdlib.h >
#include < unistd.h >

void test()
{

        int *buf = (int *)malloc(10*sizeof(int));
        buf[10] = 0x55;

}

int main()
{
        test();
        return 0;
}

編譯:

gcc -g -o test test.c

編譯時注意加上-g選項

使用valgrinid測試:

./valgrind --leak-check=yes ./test

圖片

結果顯示,產生錯誤的地方在test.c15main函數中,即調用test()函數。具體的在test.c的第9行,test函數內,即buf[10] = 0x55;語句。

根據提示信息,可知valgrind檢測到了2個錯誤:

  • 存在無效的寫入數據,即數組越界訪問
  • 內存泄露,分配了40字節沒有釋放
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 測試
    +關注

    關注

    8

    文章

    5662

    瀏覽量

    128524
  • Linux
    +關注

    關注

    87

    文章

    11492

    瀏覽量

    213185
  • 內存
    +關注

    關注

    8

    文章

    3115

    瀏覽量

    75106
  • 代碼
    +關注

    關注

    30

    文章

    4892

    瀏覽量

    70422
  • Valgrind
    +關注

    關注

    0

    文章

    9

    瀏覽量

    6923
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    檢測內存泄漏和內存違例,Valgrind不可少!

    Valgrind可以檢測內存泄漏和內存違例,但是用Valgrind生成的日志信息結合kcachegrind就可以查看C程序的執行線路圖,調用
    的頭像 發表于 05-07 08:45 ?6977次閱讀
    <b class='flag-5'>檢測</b><b class='flag-5'>內存</b>泄漏和<b class='flag-5'>內存</b>違例,<b class='flag-5'>Valgrind</b>不可少!

    使用valgrind代碼進行內存泄露檢測

    代碼可能存在內存泄露怎么辦?
    發表于 08-21 15:30 ?528次閱讀
    使用<b class='flag-5'>valgrind</b>對<b class='flag-5'>代碼</b><b class='flag-5'>進行內存</b><b class='flag-5'>泄露</b><b class='flag-5'>檢測</b>

    嵌入式相關的動態檢測工具Valgrind簡介

    Valgrind是一套Linux下,開放源代碼(GPL V2)的仿真調試工具的集合。
    的頭像 發表于 11-08 09:41 ?2908次閱讀
    嵌入式相關的動態<b class='flag-5'>檢測</b>工具<b class='flag-5'>Valgrind</b>簡介

    Linux上對進程進行內存分析和內存泄漏定位

    。(棧)5、采用mmap方式映射到虛擬地址空間中的內存段這是我的機器上,redis 進程的情況,第一行:從r-xp可知其權限為只讀、可執行,該段內存地址對應于執行文件的代碼段,程序的代碼
    發表于 07-09 08:15

    如何實現FPGA進行內存映射的GPMC接口進行通信?

    我想與使用FPGA進行內存映射(A0-A26和D0-D15)的GPMC接口進行通信。哪些是我需要在FPGA中考慮GPMC通信的所有控制信號?
    發表于 05-01 12:09

    一種利用調試軟件Valgrind進行嵌入式應用程序錯誤查找的技術

    本文介紹了一種利用調試軟件Valgrind進行嵌入式應用程序錯誤查找的技術,利用它可以高效、自動地查找出程序中的多種錯誤。首先介紹了嵌入式程序常見錯誤,接著研究了Valgrind的工作原理,介紹了利用
    發表于 04-23 06:49

    valgrind是怎樣去移植源碼的

    嵌入式內存檢測工具-valgrind移植源碼較快)準備:解壓tar -jxvf valgrind-3.16.1.tar.bz2進入valgrind
    發表于 12-17 07:56

    為什么要進行內存對齊操作呢

    嵌入式開發-內存對齊最近項目中遇到程序報Bus error,經排查發現是內存對齊的原因導致的這個問題,在此紀錄總結下一、為什么要進行內存對齊操作平臺原因(移植原因):不是所有的硬件平臺都能訪問任意
    發表于 12-17 06:34

    內存泄露內存溢出是什么意思

    面試題目匯總最重要:簡單又重點突出的自我介紹!1、內存泄露內存溢出是什么意思2、static的使用3、break 和continue的區別4、指針函數和函數指針的區別5、數組和鏈表的區別
    發表于 12-20 07:47

    Linux C/C++內存泄漏檢測工具:Valgrind

    Valgrind 是一款 Linux下(支持 x86、x86_64和ppc32)程序的內存調試工具,它可以對編譯后的二進制程序進行內存使用監測(C語言中的malloc和free,以及
    發表于 04-02 14:33 ?734次閱讀

    內存泄漏的檢測方法

    的。其實不然,防止內存泄露要從良好的編程習慣做起,另外重要的一點就是要加強單元測試(Unit Test),而valgrind就是這樣一款優秀的工具。
    的頭像 發表于 06-20 11:01 ?3393次閱讀

    闡述手機內存與運行內存中的關系及區別

    “手機的“內存”通常指“運行內存”及“非運行內存”。手機的“運行內存”相當于電腦的內存,即RAM。而手機的“非運
    發表于 07-30 14:17 ?7528次閱讀

    valgrind檢測內存問題的原理

    valgrind 是一個提供了一些 debug 和優化的工具的工具箱,可以使得你的程序減少內存泄漏或者錯誤訪問。valgrind 默認使用 memcheck 去檢查內存問題。memch
    的頭像 發表于 05-23 09:30 ?3228次閱讀
    <b class='flag-5'>valgrind</b><b class='flag-5'>檢測</b><b class='flag-5'>內存</b>問題的原理

    mtrace分析內存泄露

    一、mtrace分析內存泄露 mtrace(memory trace),是 GNU Glibc 自帶的內存問題檢測工具,它可以用來協助定位內存
    的頭像 發表于 11-13 10:55 ?1634次閱讀
    mtrace分析<b class='flag-5'>內存</b><b class='flag-5'>泄露</b>

    內存泄漏檢測工具Sanitizer介紹

    內存泄漏,我們經常會遇到,如何檢測內存泄漏,除了我們之前講過的 valgrind,還可以使用 gcc 自帶的工具 sanitizer。
    的頭像 發表于 03-01 14:52 ?659次閱讀
    主站蜘蛛池模板: 色香视频在线 | 亚洲αv久久久噜噜噜噜噜 亚洲аv电影天堂网 | 明日花绮罗snis-862在线播放 | 一区二区三区四区电影 | 国产黄色大片又色又爽 | 久久影院午夜伦手机不四虎卡 | 欧美激情在线 | 男人操女人在线观看 | 天天摸日日碰天天看免费 | 亚洲天天做日日做天天看2018 | 亚洲综合色站 | 午夜网站免费版在线观看 | 一区二区三区高清在线观看 | 狠狠操夜夜 | www.夜夜骑| 色天使色护士 在线视频观看 | 久青草国产手机视频免费观看 | 波多野结衣在线观看一区二区三区 | 一级特黄性生活大片免费观看 | 一区视频在线播放 | 亚洲国产色图 | 天天干天天干天天插 | 国产又黄又爽又猛的免费视频播放 | 免费视频一级片 | 性xxx无遮挡 | 韩国三级hd中文字幕久久精品 | 亚洲欧美经典 | 国产青草 | 77788色淫免费网站视频 | 天天干夜夜夜操 | 国产网站免费看 | 久青草国产观看在线视频 | 日韩a毛片免费全部播放完整 | 欧美视频一区二区三区在线观看 | 免费人成激情视频在线观看冫 | 91p0rn永久备用地址二 | 国产69精品久久久久9999 | 香蕉免费在线视频 | 亚欧免费视频一区二区三区 | 精品成人毛片一区二区视 | 国产精品夜色一区二区三区 |