valgrind

    0熱度

    2回答

    我正在使用valgrind來嘗試修復我正在處理的賦值中的許多內存泄漏,並且它給了我幾個不同的讀/寫/未初始化值錯誤。我認爲我知道基於valgrind輸出它來自哪裏,但不知道如何解決它爲我的生活。我對C++很陌生,所以我可能只是做了一些完全不正確的事情,我如何分配(然後試圖訪問錯誤分配的內存)數組的內存,但我無法弄清楚究竟是什麼將會。 這裏的各種Valgrind的輸出: Invalid write

    0熱度

    1回答

    我有一個多線程程序,它調用一個extern庫(log4cplus)。 當我記錄一些東西時,內存消耗會增加,但不會減少。 我跑了valgrind與- 檢查=是選項。我得到: HEAP SUMMARY ==413== in use at exit: 2,944,909 bytes in 23,429 blocks ==413== total heap usage: 99,472,

    0熱度

    1回答

    class MyClass{ public : void runBscGwThread(int); private : std::unique_ptr<std::thread> MyClass_; } MyClass::Myclass(int bcfId, A::AParam sctpParams): bcfId_(bcfId),

    3熱度

    1回答

    這是我的代碼: #include <openssl/rsa.h> int main(){ BIGNUM *bne = NULL; unsigned long e = RSA_F4; RSA *r = NULL; bne = BN_new(); BN_set_word(bne,e); r = RSA_new(); int r

    2熱度

    1回答

    我已經閱讀了關於同一主題的多個類似問題,但我無法通過關注它們來解決問題。 我想存儲指向矢量,但我看到內存泄漏。我的代碼如下。 #include <iostream> #include <vector> #include <memory> class Base { public: virtual ~Base() {} }; class Derived : pub

    0熱度

    1回答

    我無法弄清楚如何在多進程場景中檢測到memleaks,其中子進程由父進程啓動。 使用此命令我看到很奇怪的行爲 valgrind --trace-children=yes --leak-check=full --show-reachable=yes --error-limit=no --log-file=valgrind.log ./parent 如果有mem leak in both pare

    2熱度

    2回答

    的代碼是相當簡單: #include <vector> int main() { std::vector<int> v; } 然後我構建和Valgrind的運行: g++ test.cc && valgrind ./a.out ==8511== Memcheck, a memory error detector ==8511== Copyright (C) 2002-2013

    0熱度

    1回答

    我正在用C編寫一個數據包嗅探器(使用libpcap),我不能使用Valgrind在我的程序中查找內存泄漏,因爲它必須以超級用戶權限運行,因爲如果沒有這個,我甚至不能打開網絡接口進行捕獲。 當我嘗試用sudo運行Valgrind的,我得到這個: $ valgrind sudo ./[exec] ==5211== ==5211== Warning: Can't execute setuid/set

    -1熱度

    1回答

    我想中斷正常使用共享內存的線程,但事實並非如此簡單。我正在使用Boost.lockfree和Boost.Thread。下面是我創建的類: typedef std::shared_ptr<Parameters_parser> sh_params_t; typedef std::shared_ptr<Shared_objects> sh_obj_t; class Abstract_thread {

    0熱度

    2回答

    內存泄漏在Linux機器上,運行此腳本來編譯一個小的C++應用程序,並在Valgrind的運行它: #!/bin/bash set -x -e cd /tmp cat > main.cpp <<EOF #include <stdlib.h> // exit() #include <string> // std::string int main(int argc, char *ar