addr2line - convertir direcciones o símbolo+desplazamiento en nombres de archivo y números de línea
addr2line [-a|--addresses] [-b bfdname|--target=bfdname] [-C|--demangle[=style]] [-r|--no-recurse-limit] [-R|--recurse-limit] [-e filename|--exe=filename] [-f|--functions] [-s|--basename] [-i|--inlines] [-p|--pretty-print] [-j|--section=name] [-H|--help] [-V|--version] [addr addr ...]
addr2line traduce direcciones o símbolo+desplazamiento en nombres de archivo y números de línea. Dada una dirección o símbolo+desplazamiento en un ejecutable o un desplazamiento en una sección de un objeto reubicable, utiliza la información de depuración para averiguar qué nombre de archivo y número de línea están asociados con él.
El objeto ejecutable o reubicable a usar se especifica con la opción -e. El valor predeterminado es el archivo a.out. La sección del objeto reubicable a utilizar se especifica con la opción -j.
addr2line tiene dos modos de funcionamiento.
En el primero, las direcciones hexadecimales o símbolo+compensación se especifican en la línea de comando y addr2line muestra el nombre del archivo y el número de línea para cada dirección.
En el segundo, addr2line lee direcciones hexadecimales o símbolo+desplazamiento desde la entrada estándar e imprime el nombre del archivo y el número de línea para cada dirección en la salida estándar. En este modo, addr2line se puede usar en una canalización para convertir direcciones elegidas dinámicamente.
El formato de la salida es FILENAME:LINENO. Por defecto, cada dirección de entrada genera una línea de salida.
Dos opciones pueden generar líneas adicionales antes de cada línea FILENAME:LINENO (en ese orden).
Si se utiliza la opción -a, se muestra una línea con la dirección de entrada.
Si se utiliza la opción -f, se muestra una línea con NOMBRE DE LA FUNCIÓN. Este es el nombre de la función que contiene la dirección.
Una opción puede generar líneas adicionales después de la línea FILENAME:LINENO.
Si se usa la opción -i y el código en la dirección dada está presente allí debido a que el compilador lo insertó, se muestran líneas adicionales después. Se muestran una o dos líneas adicionales (si se usa la opción -f) para cada función en línea.
Alternativamente, si se usa la opción -p, cada dirección de entrada genera una única línea de salida larga que contiene la dirección, el nombre de la función, el nombre del archivo y el número de línea. Si también se ha utilizado la opción -i, todas las funciones en línea se mostrarán de la misma manera, pero en líneas separadas y con el prefijo (inlined by).
Si no se puede determinar el nombre del archivo o el nombre de la función, addr2line imprimirá dos signos de interrogación en su lugar. Si no se puede determinar el número de línea, addr2line imprimirá 0.
Cuando se usa símbolo+desplazamiento, +desplazamiento es opcional, excepto cuando el símbolo es ambiguo con un número hexadecimal. Los símbolos resueltos se pueden alterar o desarmar, excepto que los símbolos desarmados con + no están permitidos.
Las formas larga y corta de las opciones, que se muestran aquí como alternativas, son equivalentes.
Muestra la dirección antes del nombre de la función, el archivo y la información del número de línea. La dirección está impresa con un prefijo 0x para identificarla fácilmente.
Especifique que el formato de código de objeto para los archivos de objeto es bfdname.
Decodificar (demangle) nombres de símbolos de bajo nivel en nombres de nivel de usuario. Además de eliminar cualquier guión bajo inicial antepuesto por el sistema, esto hace que los nombres de las funciones de C++ sean legibles. Los diferentes compiladores tienen diferentes estilos de manipulación. El argumento de estilo de desmantelamiento opcional se puede usar para elegir un estilo de desmantelamiento apropiado para su compilador.
Especifique el nombre del ejecutable cuyas direcciones deben traducirse. El archivo predeterminado es a.out.
Muestra los nombres de las funciones, así como la información del número de línea y archivo.
Muestra solo la base de cada nombre de archivo.
Si la dirección pertenece a una función que estaba en línea, también se imprimirá la información de origen para todos los ámbitos adjuntos hasta la primera función no en línea. Por ejemplo, si main inserta callee1 que inserta callee2, y la dirección es de callee2, la información de origen para callee1 y main también se imprimirán.
Leer compensaciones relativas a la sección especificada en lugar de direcciones absolutas.
Haga que la salida sea más amigable para los humanos: cada ubicación se imprime en una línea. Si se especifica la opción -i, las líneas para todos los ámbitos adjuntos tienen el prefijo (inlined by).
Habilita o deshabilita un límite en la cantidad de recursividad realizada mientras se deshacen las cadenas. Dado que los formatos de manipulación de nombres permiten un nivel infinito de recursividad, es posible crear cadenas cuya decodificación agote la cantidad de espacio de pila disponible en la máquina host, lo que desencadena una falla de memoria. El límite intenta evitar que esto suceda restringiendo la recursividad a 2048 niveles de anidamiento. El valor predeterminado es que este límite esté habilitado, pero puede ser necesario deshabilitarlo para descifrar nombres realmente complicados. Sin embargo, tenga en cuenta que si el límite de recurrencia está deshabilitado, es posible que se agote la pila y se rechazarán los informes de errores sobre dicho evento. La opción -r es sinónimo de la opción --no-recurse-limit. La opción -R es sinónimo de la opción --recurse-limit. Tenga en cuenta que esta opción solo es efectiva si se ha habilitado la opción -C o --demangle.
Leer opciones de línea de comandos desde archivo. Las opciones leídas se insertan en lugar de la opción @archivo original. Si el archivo no existe o no se puede leer, la opción se tratará literalmente y no se eliminará. Las opciones en archivo están separadas por espacios en blanco. Se puede incluir un carácter de espacio en blanco en una opción encerrando la opción completa entre comillas simples o dobles. Se puede incluir cualquier carácter (incluida una barra invertida) prefijando el carácter que se va a incluir con una barra invertida. El archivo puede contener opciones @archivo adicionales; cualquiera de estas opciones se procesará recursivamente.
Info entries for binutils.
Copyright (c) 1991-2023 Free Software Foundation, Inc.
Se otorga permiso para copiar, distribuir y/o modificar este documento bajo los términos de la Licencia de Documentación Libre GNU, Versión 1.3 o cualquier versión posterior publicada por la Free Software Foundation; sin secciones invariantes, sin textos de portada y sin textos de contraportada. Se incluye una copia de la licencia en la sección titulada Licencia de documentación libre de GNU.