ltrace es una utilidad de depuración en Linux , que se utiliza para mostrar las llamadas que una aplicación de espacio de usuario realiza a las bibliotecas compartidas .
Descripción general
Lo hace enganchándose al sistema de carga dinámica , lo que le permite insertar adaptadores que muestran los parámetros que la aplicación utiliza al realizar la llamada y el valor de retorno que informa la llamada a la biblioteca. ltrace también puede rastrear llamadas al sistema Linux . Debido a que utiliza el mecanismo de enganche de biblioteca dinámica, ltrace no puede rastrear llamadas a bibliotecas que están vinculadas estáticamente directamente al binario de destino. Desde la versión 0.7.3, ltrace también puede rastrear llamadas a bibliotecas que se cargan usando dlopen .
Ejemplo de salida
A continuación se muestran las primeras líneas de una invocación de xterm . Se observa que ltrace muestra llamadas a diversas bibliotecas, incluyendo la biblioteca estándar de C ( malloc , strlen ), bibliotecas POSIX (getuid), funciones intrínsecas del kit de herramientas X (XtOpenApplication) y la biblioteca de comunicación entre clientes X11 (IceAddConnectionWatch). El valor de retorno de cada llamada se muestra después del símbolo =.
[pid 11783] __libc_start_main(0x407420, 1, 0x7fff75b6aad8, 0x443cc0, 0x443d50 <sin terminar ...> [pid 11783] geteuid() = 1000 [pid 11783] getegid() = 1000 [pid 11783] getuid() = 1000 [pid 11783] getgid() = 1000 [pid 11783] setuid(1000) = 0 [pid 11783] malloc(91) = 0x00cf8010 [pid 11783] XtSetLanguageProc(0, 0, 0, 0x7f968c9a3740, 1) = 0x7f968bc16220 [pid 11783] ioctl(0, 21505, 0x7fff75b6a960) = 0 [pid 11783] XtSetErrorHandler(0x42bbb0, 0x44f99c, 0x669f80, 146, 0x7fff75b6a72c) = 0 [pid 11783] XtOpenApplication(0x670260, 0x44f99c, 0x669f80, 146, 0x7fff75b6a72c) = 0xd219a0 [pid 11783] IceAddConnectionWatch(0x42adc0, 0, 0, 0x7f968c9a3748, 0 <sin terminar ...> [pid 11783] IceConnectionNumber(0xd17ec0, 0, 1, 0xcfb138, 0xd17c00) = 4 [pid 11783] <... IceAddConnectionWatch reanudado> ) = 1 [pid 11783] XtSetErrorHandler(0, 0, 1, 0xcfb138, 0xd17c00) = 0 [pid 11783] XtGetApplicationResources(0xd219a0, 0x6701c0, 0x66b220, 34, 0) = 0 [pid 11783] strlen("off") = 3Véase también
Referencias
Enlaces externos
- Herramientas de programación Unix
- Depuradores