strace工具跟蹤系統調用和訊號

來源:互聯網
上載者:User

 

* 掌握使用strace工具跟蹤系統調用和訊號的方法

* 掌握各類記憶體測試載入器,比如memwatch(是不是和那個)

* 掌握使用庫函數backtrace和backtrace_sysbols來定位段錯誤

一、使用strace工具跟著系統調用和訊號

1、strace介紹和移植

①、介紹

strace是一個很有用的真的、學習、調試工具。使用時無需重新編譯器,這使得可以用來跟蹤沒有原始碼的程式。系統調用和訊號時發生在使用者空間和核心空間邊界處的事件,檢查這些邊界事件有助於隔離錯誤、檢查完整性、跟蹤程式。

使用strace工具來執行程式時,它會記錄程式執行過程中的調用的系統調用、接受到的訊號。通過查看記錄結果,可以知道程式開啟了哪些檔案(open)、開啟是否成功、對檔案進行了哪些讀寫操作(read、write、ioctl等)、影射了哪些記憶體(mmap)、向系統申請了多少記憶體等。

②、strace的移植。

下載 strace-4.5.15.tar.bz2,和arm平台補丁程式strace-fix-arm-bad-syscall.patch

#tar

#cd

#patch -p1 < ../strace-fix-arm-bad-syscall.patch

然後,編譯

#./configure --host=arm-linux CC=arm-linux_gcc

#make

這時,將在目錄下產生名為strace的可執行程式,將它直接複製到開發板根檔案系統上既可使用。

2、strace偵錯工具。

①、使用strace定位警告資訊

#strace -o xxx.log xxx &

這樣將會在本目錄下產生xxx.log檔案。

②、使用strace 來測配量序的執行時間。當不知道程式在哪裡突然執行時間過長時。

#strace -r -o xxx.log xxx

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.