簡體   English   中英

C ++ - 檢測超出范圍的訪問

[英]C++ - detect out-of-range access

我想分析我的C ++代碼,找到向量和數組中的錯誤訪問(超出范圍訪問),有沒有一個工具呢?

提前致謝

如果您正在使用gcc,則可以使用_GLIBCXX_DEBUG和_GLIBXX_DEBUG_PEDANTIC進行編譯。 如果請求超出邊界訪問,這將啟用glibc斷言。

使用valgrind :: memcheck進行測試也會顯示內存讀取錯誤

是的: Valgrind

還有很多其他人: http//en.wikipedia.org/wiki/Memory_debugger

另請注意,例如std::vector大多數實現都具有調試模式,它們將執行運行時邊界檢查。

有一些付費工具,它們進行靜態分析

klockwork

Coverity公司

IBM Rational Purify進行動態分析。

在您的數組上創建一個類,並在該類中使用運算符和....創建一些控制函數,然后使用此類。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM