[問題] valgrind 的 Log 爆漲?
敝人在 Linux 下是使用 GTK+ 來開發程式,
然後使用 valgrind 這個神器來找出程式中有關記憶體存取的潛在問題。
但從 valgrind 3.6.0 開始,valgrind 的 Log 就大爆漲,
比如說,以下程式 gtk.c:
#include <gtk/gtk.h>
int main(int argc, char **argv)
{
gtk_init(&argc, &argv);
GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
g_signal_connect(G_OBJECT(window), "delete_event",
G_CALLBACK(gtk_main_quit), NULL);
gtk_widget_show_all(window);
gtk_main();
return 0;
}
您可以用以下指令來編譯這個程式:
(GTK2) gcc -Wall -g gtk.c -o gtk `pkg-config --cflags --libs gtk+-2.0`
(GTK3) gcc -Wall -g gtk.c -o gtk `pkg-config --cflags --libs gtk+-3.0`
然後使用以下指令,用 valgrind 來執行這個程式:
valgrind --leak-check=full ./gtk
理論上,這個小程式應該不會有什麼記憶體存取的潛在問題吧?
也就是說,valgrind 應該抓不到什麼問題才對。
在 Debian Lenny (valgrind 3.3.1 + GTK2) 下,
產生的 Log 是 53 行,瞄幾眼就看完了,的確是沒抓到什麼大問題。
但在 Debian Squeeze (valgrind 3.6.0 + GTK2) 下,所產生的 Log 竟然有 6,295 行;
而在 Debian Wheezy (valgrind 3.7.0 + GTK3) 下,所產生的 Log 則為 5,927 行。
說實在話,5、6 千行的 Log 基本上是看不完的,且因為資訊太多太雜亂,根本沒辨法用來除錯。
請問,有什麼辨法能讓新版的 valgrind 的 Log 像舊版一樣精簡呢?
或者,有其它工具能取代 valgrind 的嗎?
謝謝!
--
推
03/31 20:37, , 1F
03/31 20:37, 1F
→
03/31 20:38, , 2F
03/31 20:38, 2F
→
04/01 00:24, , 3F
04/01 00:24, 3F
不加的話,就只是個 SUMMARY 報表,所以不加不行...
如果是用 --leak-check=yes 的話,也是接近 5000 行,還是太多了。
推
04/01 17:31, , 4F
04/01 17:31, 4F
用 valgrind -v 則是 5,540 行。差不多...
推
04/03 16:37, , 5F
04/03 16:37, 5F
推
04/04 09:44, , 6F
04/04 09:44, 6F
咦?趕快去試用看看!
※ 編輯: Tetralet 來自: 114.32.201.46 (04/04 18:08)