strace untuk panggilan perpustakaan

14

Saya tahu strace, yang sangat berguna untuk menonton panggilan sistem. Apakah ada padanan yang dapat melacak panggilan ke perpustakaan eksternal?

Misalnya, saya mencoba men-debug beberapa perilaku buruk SSLeay dengan biner pihak ketiga yang saya tidak dapat mengakses kode untuk (dan siapa pengembang tidak responsif). Saya percaya saya telah menyelesaikan masalah, tetapi saya tidak dapat menguji ini tanpa melihat persis bagaimana data yang sedang diperiksa tanda tangan sedang diformat untuk dikirim ke SSLeay.

draeath
sumber

Jawaban:

12

ltrace - Pelacak panggilan perpustakaan.

Ini hanya berfungsi di Linux dan di sebagian kecil arsitektur. Panggilan ke dlopen () perpustakaan tidak akan dilacak. Petunjuk lebih lanjut dari halaman manual dan/etc/ltrace.conf

Nikhil Mulley
sumber
3
Apakah ada solusi yang tersedia untuk perpustakaan dlopen () ed?
draeath
8

Terkadang ltrace bekerja. Secara umum, ini membutuhkan debugger seperti GDB . Anda bisa mendapatkan gagasan tentang fungsi mana untuk meletakkan titik jejak atau titik istirahat dengan melihat struktur panggilan di pembongkaran ( objdump -d /path/to/executable).

Gilles 'SANGAT berhenti menjadi jahat'
sumber