ubuntu 8.04下安裝和使用systemtap

來源:互聯網
上載者:User
systemtap是一個linux下的系統調用和跟蹤程式,如果您在windows下用過filemon或者processmonitor的話就明白了.systemtap功能比processmonitor更強大一些,定製性更高些.但是顯然,和大多數linux程式一樣,也更難用!
為了裝這個systemtap,翻了好多貼子,最簡單的方法如下:
  1. 運行命令:sudo apt-get install linux-image-debug-`uname -r`
  2. 運行命令: sudo ln -s vmlinux-debug-`uname -r` vmlinux-`uname -r`
  3. 運行命令:sudo apt-get install systemtap

如此,就裝好了,可以構造一個簡單的指令檔a.stp,如下:

probe syscall.open
{
  printf ("%s(%d) open (%s)\n", execname(), pid(), argstr)
}

 然後用命令運行:sudo stap ./a.stp 如果順利的話,就可以看到輸出了.不過我這裡運行到pass5的時候報錯:/usr/lib/systemtap/stapio terminated,正在尋找原因中.

如果不習慣使用這麼高定製性的工具的話,可以改用strace,用法簡單:strace -f -o out_trace.txt /opt/eclipse/eclipse 我這裡是用來跟蹤eclipse運行時候的檔案讀寫記錄.

參考文獻:

  • http://blog.chinaunix.net/u/12679/showart_529575.html (注:這個方法不好用,我在xubuntu下介面出問題,而且stap無法運行)
  • https://bugs.launchpad.net/ubuntu/+source/systemtap/+bug/106957
  • http://sourceware.org/systemtap/tutorial/node5.html 有關systemtap指令碼的編寫
  • http://www.ibm.com/developerworks/cn/linux/l-systemtap/ 使用Systemtap調試核心
  • http://www.xxlinux.com/linux/article/development/soft/20051125/67.html 使用truss,strace,ltrace跟蹤

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.