【源碼閱讀方法論】使用valgrind生成調用鏈

周生政nginx

valgrind查看調用關係

在學習開源代碼時,咱們但願有個工具可以給咱們全局的視角而不過早的陷入細節的泥淖中。讀書能夠跳讀,讀代碼也是能夠跳讀的。valgrind能夠生成整個調用關係鏈。該關係鏈指導咱們,迅速定位到咱們關心的細節。git

安裝

ubuntu系統

1 apt-get install valgrind
2 apt-get install kcachegrind

mac系統

1 brew install qcachegrind --with-graphviz

使用

  • 使用valgrind生成調用關係
1 valgrind --tool=callgrind --trace-children=yes  --callgrind-out-file=/data/opt/callgrind.out.1111  ./nginx
  • 使用qcachegrind查看調用關係

qcachegrind
https://raw.githubusercontent...
clipboard.pnggithub

可能遇到的問題

  • Error: can not open cache simulation output file

保證寫的目錄有寫的權限,能夠建立一個目錄,賦值爲777,在該目錄下啓動命令valgrind --tool=callgrind --trace-children=yes /data/server/nginx/sbin/nginx, 使用kill終止程序kill SIGINT pidubuntu

相關文章
相關標籤/搜索