2015-10-30 47 views
4

我試圖分析我的計劃與Valgrind的Valgrind的錯誤 - 無法打開緩存模擬輸出文件

valgrind --tool=callgrind --callgrind-out-file=/home/user/callgrind.%p --instr-atstart=no ./src/Leonardo --https leosd:11443 

後,我達到我的文件,凡在我的目標輪廓功能我:

CALLGRIND_START_INSTRUMENTATION; 

/* a lot of code to profile */ 

CALLGRIND_STOP_INSTRUMENTATION; 
CALLGRIND_DUMP_STATS; 

程序崩潰並在控制檯輸出爲:

==3117== Error: can not open cache simulation output file `/home/user/callgrind.3117.1014'

P.S.如果我從QtCreator運行valgrind從應用程序啓動分析它運行完美,但我不需要這個。

任何想法如何解決這個問題?不幸的是,Google沒有幫助。

回答

-1

先試更基本的東西,即

  1. 不給--callgrind出文件
  2. --instr,在啓動=無
  3. 不要不給選擇權插入CALLGRIND_START/STOP_INSTRUMENTATION

所以,換句話說,只是做: 的valgrind --tool = callgrind your_program your_program_args

然後,當簡單的基本用法起作用時,嘗試一次添加一件東西。

通常,'無法打開緩存模擬'是因爲目錄 不存在或不可寫或類似問題。 如果基本用法是不行的,提交有關Valgrind的Bugzilla的錯誤,給 的相關信息(平臺/版本/ ...)

0

我去同樣的問題,我解決了將項目和運行區段從「在終端中運行」刪除勾號