Strumento per tracciare le chiamate in libreria in Linux / ARM


8

Sto cercando uno strumento che consenta di tracciare le chiamate alle funzioni nelle librerie condivise in Linux / ARM. Fondamentalmente, voglio essere in grado di specificare una riga di comando e lasciare che questo strumento produca un registro delle funzioni di libreria chiamate e degli argomenti passati. Immagino che una sorta di aggancio delle funzioni possa essere usato per questo.

Sono a conoscenza ltrace, che fornisce esattamente le funzionalità di cui ho bisogno. Tuttavia, ltracenon funziona per me in quanto:

  • spesso segfault quando si tracciano programmi più complessi.
  • è molto lento.

Sto cercando un'alternativa più solida. La velocità è buona, ma non la mia principale preoccupazione. In primo luogo, vorrei avere un mezzo per tracciare le chiamate in biblioteca in grado di analizzare qualsiasi programma (non evasivo).

Anche Sysdig non funziona in ARM e il porto di dtrace funziona ancora in beta solo in NetBSD.

Qualcuno è a conoscenza di un tale strumento in uno stato utilizzabile?

Risposte:


1

Hai visto LTTng ? È un framework di traccia kernelspace / userspace che funziona su diverse architetture, incluso ARM.

È possibile impostare la traccia per il codice spazio utente con LTTng-UST . Ma dovresti ricompilare le librerie condivise che vuoi tracciare, con i tuoi punti di traccia LTTng aggiunti.

Ecco una guida dai documenti ufficiali di lttng sulla configurazione della traccia dello spazio utente : Traccia della tua applicazione utente

Non so se questo sarebbe utile nel tuo caso, ma c'è anche un thread Stack Overflow sulla compilazione / installazione di lttng su piattaforme integrate (incluso ARM): come posso costruire e distribuire LTTng su un sistema Linux incorporato?

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.