日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++内存检测

發布時間:2023/12/20 c/c++ 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++内存检测 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.valgrind的安裝使用

1.1 簡介

Valgrind是linux環境下開發應用程序時用于內存調試和性能分析的工具集,其中Memcheck工具可以用來檢查C/C++程序中的內存操作錯誤。本文列舉了幾種常見的內存操作錯誤以及Memcheck工具的檢測結果,其中包括以下幾種類型:

使用未初始化的內存
內存讀寫越界
內存覆蓋
讀寫已經釋放的內存
內存泄露

無法檢測出靜態內存越界的問題(如果一個棧上的數組,訪問越界,無法檢測出來的)

1.2安裝

下載 :wget http://valgrind.org/downloads/valgrind-3.12.0.tar.bz2

解壓: tar -jxvf valgrind-3.12.0.tar.bz2

? ? ? ? ?cd valgrind-3.12.0

? ? ? ? ./configure

? ? ? ? make?

? ? ? ? make install

1.3使用

?######? ? ? ? ? ?為了使Valgrind發現的錯誤更精確,能夠定位到源代碼行,在編譯源程序時需要加上-g參數:

參數解釋

definitely lost
直接。確認泄露,程序運行結束后,沒有指向該內存的指針。
indirectly lost
間接。確認泄露,指向該內存的指針,位于內存泄露處。
possibly lost
可能泄露,如一個指向某塊內存中間的指針。這種指針一般開始時指向內存頭部,后來移動到了內存中間,可能這個指針和內存根本沒有關系。

Valgrind的其他工具:

下面的這篇博客給出了連接,不再贅述

內存問題排查工具 --- valgrind - CobbLiu - 博客園


================================================================================================

參考博客:

《valgrind之內存調試》_浮生專欄-CSDN博客_valgrind調試

內存問題排查工具 --- valgrind - CobbLiu - 博客園

總結

以上是生活随笔為你收集整理的C++内存检测的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。