valgrind

    -1熱度

    1回答

    我有一個帶有字符串鍵和我自己的String類的AVL樹。爲了解決另一個問題,我不得不向String添加一個拷貝構造函數。但是,valgrind會報告它的錯誤。這裏的構造函數: String::String(const String& s){ try { mStr = new char[1]; } catch (const bad_alloc& e){

    0熱度

    3回答

    我正在調試只發生在我的程序的PPC64端口的問題。 我具有其中C庫qsort被給予libffi產生閉合作爲字符串比較回調測試用例。字符串被正確地傳遞給回調函數,並且返回值被精確地存儲到由libffi傳遞給閉包函數的返回值緩衝區中。 然而,該陣列未正確通過qsort排序。此外,Valgrind報告說C庫qsort代碼正在訪問未初始化的內存,並且--track-orgins=yes顯示這個內存是由Li

    -2熱度

    1回答

    我不知道什麼是錯用下面的函數讀取任意長度的文本行: char *GetLine(FILE * f) { size_t size = 0; size_t len = 0; size_t last = 0; char *buf = NULL; bool line_end = false; while (!feof(f) && !line_e

    0熱度

    1回答

    我需要製作一個程序,用execlp調用一個新程序,然後將其輸出發送回主程序將輸出並將其修改爲標準輸出。 作爲程序它工作得很好,但是當我測試它的valgrind它給了我: Invalid read of size 1 Address 0x0 is not stack'd, malloc'd or (recently) free'd 錯誤行是:strcpy(program,argv[optind

    0熱度

    2回答

    使用libmicrohttpd庫時,遇到奇怪的錯誤一個string至const char *,並調用MHD_create_response_from_buffer。 這會導致網頁響應格式不正常,偶爾會顯示二進制數據,而且更少見一點,會使瀏覽器認爲它是文件並下載它。 是什麼使這個非常奇怪的是,該錯誤不出來,如果我發送一個定期爲const char,像 const char *cstring = "t

    -1熱度

    1回答

    這是函數list_directory,其中我丟失了分配的指針,之後我無法釋放它。 這應該是一個類似於實現的方式,當它找到一個目錄時,它應該保存它的名稱,並且在列出該目錄後,它應該遞歸地在當前目錄中找到的目錄上調用list_directory。但由於某種原因,它在途中失去了一些元素。 int list_directory(int argc, char *argv[], struct check_in

    2熱度

    1回答

    由於我有錯誤,當我設置gcc優化,我想精確看看我的android應用程序的內存。爲此,我嘗試運行valgrind。 我已經通過termux安裝了valgrind,因爲它提供了包(不需要編譯它)。但錯誤更快。 我有這樣的腳本: #!/system/bin/sh echo "in the shell script" touch /sdcard/ok.txt VGPARAMS='--error-l

    0熱度

    1回答

    我有用C++實現的算法A和算法B。理論上,A使用的空間比B多,實際情況也是這樣。我想生成一些很好的圖表來說明這一點。這兩種算法接收輸入n,我想我的實驗針對不同的n變化,使圖形的x軸必須​​是這樣的n = 10^6, 2*10^6, ... 通常,當涉及到如時間或高速緩存未命中的數據,我最首選的方法設置實驗的過程如下。裏面一個C++文件我有一個像這樣實現的算法: #include <iostream

    1熱度

    1回答

    我想在linux ubuntu中測量一個程序的內存消耗。我比較了兩種工具:Valgrind Massif和TOP。出於某種原因,即使當我使用「--pages-as-heap = yes」來顯示所有內存時,我也得到了不同的結果。 我編譯以下代碼: void delay(double secs) { int i,j; for(j=0;j<5000*secs;j++)

    17熱度

    1回答

    我使用ATLAS的LAPACK和多線程BLAS例程,並已經注意到,當我得到的矩陣足夠大的ATLAS使用BLAS的多線程版本,我從Valgrind的初始化錯誤。下面是從我的代碼小例子: #include <stdio.h> #include <stdlib.h> extern void dgetrf_(int *, int *, double *, int *, int *, int *);