周生政nginx
在學習開源代碼時,咱們但願有個工具可以給咱們全局的視角而不過早的陷入細節的泥淖中。讀書能夠跳讀,讀代碼也是能夠跳讀的。valgrind能夠生成整個調用關係鏈。該關係鏈指導咱們,迅速定位到咱們關心的細節。git
1 apt-get install valgrind 2 apt-get install kcachegrind
1 brew install qcachegrind --with-graphviz
1 valgrind --tool=callgrind --trace-children=yes --callgrind-out-file=/data/opt/callgrind.out.1111 ./nginx
qcachegrind
https://raw.githubusercontent...
github
保證寫的目錄有寫的權限,能夠建立一個目錄,賦值爲777,在該目錄下啓動命令valgrind --tool=callgrind --trace-children=yes /data/server/nginx/sbin/nginx, 使用kill終止程序kill SIGINT pidubuntu