ltrace 0.7.0 發布,跟蹤進程的庫函數調用
ltrace能夠截取和記錄動態庫調用。它也可以攔截和打印由程序執行的系統調用。那么它是如何跟蹤庫函數呢?首先ltrace打開elf文件,對其進行分析。在elf文件中,出于動態連接的需要,需要在elf文件中保存函數的符號,供連接器使用。
這樣ltrace就能夠獲得該文件中,所有系統調用的符號,以及對應的執行指令。然后,ltrace將該指令所對應的4個字節,替換成斷點。
這樣在進程執行到相應的庫函數后,就可以通知到了ltrace,ltrace將對應的庫函數打印出來之后,繼續執行子進程。
這是主要功能版本有了很多的進步和變化。最顯著的是,它帶來的全面支持多線程進程,跨庫調用,PIE二進制文件追蹤,并提高參數傳遞約定。
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!