簡體   English   中英

如何解釋 Valgrind 輸出

[英]How to interpret Valgrind output

Valgrind 產生以下消息塊:

1,065,024 bytes in 66,564 blocks are definitely lost in loss record 21 of 27
   at 0x4C2B800: operator new[](unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
   by 0x40CA21: compute(Parameters&, Array<double>&) [clone .constprop.71] (array.hpp:135)
   by 0x403E70: main (main.cpp:374)

如何閱讀此消息?

main.cpp 第 374 行內容如下:

results[index] = compute(parameters, weights);

內存是否恰好在 main.cpp 的第 374 行泄漏? 它是在 compute() 中泄漏還是在分配/索引結果時泄漏?

內存是否恰好在 main.cpp 的第 374 行泄漏?

不,它只顯示main中調用的行號,最終導致分配內存的函數和行。

它是在 compute() 中泄漏還是在分配/索引結果時泄漏?

它說內存是在compute()中分配的,但在程序退出之前沒有在程序中釋放。 這就是構成內存泄漏的原因。

暫無
暫無

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

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