valgrind

    4熱度

    1回答

    我爲Guile開發了一個擴展模塊,用C編寫。這個擴展模塊嵌入了一個Python解釋器。 由於此擴展模塊調用Python解釋器,我需要驗證它是否正確管理了Python對象佔用的內存。 我發現Python解釋器乖巧的在自己的內存處理,使運行的valgrind我能找到的內存泄漏是由於我自己的Python解釋器嵌入代碼中的錯誤,如果沒有其他的干擾因素。 但是,當我在valgrind下運行Guile時,va

    4熱度

    4回答

    在Linux/GCC/C++中,每次調用malloc/free/new/delete時,我都會記錄stderr的內容。我試圖理解一個庫的內存分配,所以我想在運行單元測試時生成這個輸出。我使用valgrind進行mem泄漏檢測,但是我找不到一個讓它只記錄分配的選項。 任何想法?我正在尋找最簡單的解決方案。重新編譯庫不是一個選項。

    21熱度

    1回答

    我有一個流程x,我想檢查與valgrind泄漏。問題是x由y運行,而y又由z運行。我不能運行x獨立的,因爲y和z設置爲x環境,如環境變量,命令行開關,通過x等 所需的文件,有什麼辦法,我可以告訴valgrind對z運行但要遵循它發現並報告它們的任何分叉? 有什麼辦法可以告訴valgrind遵循任何分叉,但只報告名爲x的進程? 有什麼辦法可以告訴valgrind附加到已經運行的進程,我可以用gdb做

    3熱度

    2回答

    Valgrind是輸出如下: ==14446== 2,976 (176 direct, 2,800 indirect) bytes in 2 blocks are definitely lost in loss record 23 of 33 ==14446== at 0x4C2506C: operator new(unsigned long) (in /usr/lib64/valgrind/a

    1熱度

    1回答

    我正在完成一個代碼模式,並希望通過Valgrind運行我的程序,以確保我已經佔用了所有內存,但是我的程序未能在運行時斷言失敗。從Valgrind運行時可以在調試器中停止嗎?我目前正在閱讀手冊,但認爲我可以更快地從你們那裏得到我的答案。

    5熱度

    3回答

    在valgrind下運行時,太陽JVM吐出大量額外的噪音,這使得跟蹤應用程序中的內存問題非常具有挑戰性。 我想找到一個壓縮文件或虛擬機運行時模式,它將消除虛假內存錯誤,以便在這種情況下將小麥從穀殼中分離出來。有什麼建議麼?

    32熱度

    2回答

    就在前幾天,我開始研究一個名爲check的單元測試框架, ,我打算在Linux下對c代碼進行測試。 現在檢查和一些精心設計的代碼和一些測試代碼可以幫助我確認 的基本功能是正確的, 我的意思是這是很容易的,只是看看,並響應變量後面再 決定是否一個函數是否正確。 但是,假設我想測試一個動態存儲器結構,其中有很多malloc和free, ,事實證明我可以將數據放入並再次獲取正確的數據。 但是這並不能證明

    8熱度

    4回答

    我有一個應用程序必須計算文件的MD5,我有 使用openssl庫,valgrind抱怨一些塊仍然 可達。 編譯下面的代碼: #include <openssl/bio.h> int main(int, char**) { BIO * mem = BIO_new(BIO_s_mem()); BIO_vfree(mem); return 0; } 使用的val

    0熱度

    1回答

    我需要檢測我的Makefile是否在valgrind下運行(間接地,使用valgrind --trace-children = yes),我知道如何從C中執行它,但我還沒有找到一種方法來從腳本執行它, 以前的答案僅適用於Linux。對於Mac OS X,我將在環境中grep for VALGRIND_STARTUP_PWD,除非有人有更好的主意。

    5熱度

    2回答

    有沒有一種方法可以在運行時識別正在從valgrind運行的可執行文件?我有一組C++單元測試,其中一個預期std::vector::reserve拋出std::bad_alloc。當我在valgrind下運行它時,它完全釋放,阻止我測試內存泄漏(使用valgrind)和行爲(期待異常被拋出)。 這裏的再現成爲一個小例子: #include <vector> int main() {