2011-06-08 28 views
8

我有一個大的程序來運行。使用valgrind需要幾個小時的時間才能運行。我聽說有些東西我們可以在程序中調用valgrind來實現特定的功能。其餘的程序將正常執行(不含valgrind env)。 任何人都可以幫助我。我試圖通過互聯網搜索它,可能是我錯過了搜索的術語。 「只有Valgrind的輪廓特異功能」將Valgrind限制在一個特定的功能

回答

8

這一切都取決於你想要使用什麼工具。對於callgrind(valgrind中的分析器),有一個選項--toggle-collect =函數可讓您收集特定函數及其所有子項中的信息。

但是,如果您感興趣的工具是memcheck(用於捕獲泄漏/內存錯誤),那麼沒有可用的命令行選項。

1

谷歌搜索,並走「我覺得很幸運」

除了啓用儀器儀表,還必須啓用事件收集的部分程序,你有興趣的 。通過默認情況下,事件收集處處都啓用。 您可以使用--toggle-collect = function將集合限制爲特定功能。這將使 在進入和離開指定功能時切換收集狀態。當此選項 生效時,程序啓動時的默認收集狀態爲「關閉」。只有在給定函數內運行時發生的事件 纔會被收集。給定的 函數的遞歸調用不會觸發任何操作。

更多here

+2

這是來自** callgrind **文檔,這是一個在valgrind下運行的工具。不過,我認爲這個問題是關於memcheck的,這是最常見的valgrind工具。我不認爲有這樣的memcheck的東西。 – mark4o 2011-06-08 15:41:34

相關問題