Entender el comando Linux/Unix: nm

Entender el comando Linux/Unix: nm

Entender el comando Linux/Unix: nm

VALORACIÓN DEL ARTÍCULO:
5/5


Utilice «nm» para listar símbolos de archivos de objetos.

SINOPSIS

nm [ -a | –debug-syms ] [ -g | –extern-only ]]
.[ -B ] [ -C | –demangle [= style] [ -D | –dynamic ]
]. -S | –tamaño de impresión ] [ -s | –print-armap ]
-A | -o | –print-file-name ]
[ -n | -v | –numeric-sort ] [ -p | –no-sort
-r | –reverse-sort ] [ –sizee-sort ] [ -u | –indefined-only ]
>.[ -t radix| –radix= radix] [ -P | –portabilidad []
].[ –target= bfdname] [ -f format| –format= format]
–sólo definido ] [ -l | –números de línea ] [ –no-demangle ]
].[ -V | –versión ] [ -X 32_64 ] [ –help [ objfile…]

DESCRIPCIÓN

GNU nm lista los símbolos de los archivos de objetos objfile…. Si no hay ningún fichero objeto listado como argumentos, nm asume el fichero a.out.

Para cada símbolo, nm aparece:

*

El valor del símbolo, en el radio seleccionado por las opciones (ver abajo), o hexadecimal por defecto.

*

El tipo de símbolo. Al menos se utilizan los siguientes tipos; otros también, dependiendo del formato de archivo del objeto. Si es minúscula, el símbolo es local; si es mayúscula, el símbolo es global (externo).

A

El valor del símbolo es absoluto y no se modificará mediante un enlace posterior.

B

El símbolo se encuentra en la sección de datos no inicializados (conocida como BSS).

C

El símbolo es común. Los símbolos comunes son datos no inicializados. Al enlazar, pueden aparecer varios símbolos comunes con el mismo nombre. Si el símbolo se define en cualquier parte, los símbolos comunes se tratan como referencias no definidas.

D

El símbolo se encuentra en la sección de datos inicializados.

G

El símbolo se encuentra en una sección de datos inicializados para objetos pequeños. Algunos formatos de archivo de objetos permiten un acceso más eficiente a pequeños objetos de datos, como una variable int global en lugar de una matriz global grande.

I

El símbolo es una referencia indirecta a otro símbolo. Esta es una extensión de GNU al formato de archivo de objeto a.out que es raramente usado.

N

El símbolo es un símbolo de depuración.

R

El símbolo se encuentra en una sección de datos de sólo lectura.

S

El símbolo se encuentra en una sección de datos no inicializada para objetos pequeños.

T

El símbolo está en la sección de texto (código).

U

El símbolo no está definido.

V

Un símbolo es un objeto débil. Cuando un símbolo débilmente definido se enlaza con un símbolo normal definido, se utiliza el símbolo normal definido sin ningún error. Cuando se enlaza un símbolo débil no definido y el símbolo no está definido, el valor del símbolo débil se convierte en cero sin ningún error.

W

El símbolo es un símbolo débil que no se ha etiquetado específicamente como un símbolo de objeto débil. Cuando un símbolo débilmente definido se enlaza con un símbolo normal definido, se utiliza el símbolo normal definido sin ningún error. Cuando se enlaza un símbolo débil no definido y el símbolo no está definido, el valor del símbolo débil se convierte en cero sin ningún error.

El símbolo es un símbolo de puñaladas en un archivo de objeto.out. En este caso, los siguientes valores impresos son las puñaladas de otros campos, el campo de descenso de puñaladas y el tipo de puñalada. Los símbolos de puñaladas se utilizan para mantener la información de depuración.

?

El tipo de símbolo es desconocido o el formato de archivo del objeto es específico.

*

El nombre del símbolo.

OPCIONES

Las formas largas y cortas de opciones, mostradas aquí como alternativas, son equivalentes.

-A

-o

–imprimir-nombre-archivo

Preceda a cada símbolo por el nombre del archivo de entrada (o miembro del archivo) en el que se encontró, en lugar de identificar el archivo de entrada una sola vez, antes de todos sus símbolos.

-a

–debug-syms

Mostrar todos los símbolos, incluso los símbolos de sólo depuración; normalmente no aparecen en la lista.

-B

Lo mismo que –format=bsd (para compatibilidad con el MIPS nm ).

-C

–demangle[= style ]

Decodificar ( demangle) nombres de símbolos de bajo nivel en nombres de nivel de usuario. Además de eliminar cualquier subrayado inicial preparado por el sistema, esto hace que los nombres de las funciones C++ sean legibles. Diferentes compiladores tienen diferentes estilos de manipulación. El argumento opcional Demangling style se puede utilizar para elegir un estilo Demangling apropiado para su compilador.

–no-demangle

No demande los nombres de los símbolos de nivel inferior. Este es el valor por defecto.

-D

–dinámico

Mostrar los símbolos dinámicos en lugar de los símbolos normales. Esto sólo tiene sentido para objetos dinámicos, como ciertos tipos de bibliotecas compartidas.

-f formato

–format= format

Utilice el formato de salida format, que puede ser «bsd», «sysv» o «posix». El valor por defecto es «bsd». Sólo el primer carácter de format es significativo; puede ser mayúsculas o minúsculas.

-g

–extern-only

Visualizar sólo símbolos externos.

-l

–números de línea

Para cada símbolo, utilice la información de depuración para intentar encontrar un nombre de archivo y un número de línea. Para un símbolo definido, busque el número de línea de la dirección del símbolo. Para un símbolo indefinido, busque el número de línea de una entrada de reubicación que se refiera al símbolo. Si se puede encontrar información sobre el número de línea, imprímala después de la otra información sobre el símbolo.

-n

-v

–numérico-sort

Ordene los símbolos numéricamente por sus direcciones, en lugar de alfabéticamente por sus nombres.

-p

–no-sort

No se moleste en ordenar los símbolos en cualquier orden; imprímalos en el orden en que se encuentran.

-P

–portabilidad

Utilice el formato de salida estándar POSIX.2 en lugar del formato predeterminado. Equivalente a -f posix .

-S

–tamaño de impresión

Tamaño de impresión de los símbolos definidos para el formato de salida «bsd».

-s

–print-armap

Al enumerar símbolos de los miembros del archivo, incluya el índice: una asignación (almacenada en el archivo por ar o ranlib ) de los cuales los módulos contienen definiciones de los nombres.

-r

–reverse-sort

Invierta el orden del orden (ya sea numérico o alfabético); deje que lo último venga primero.

–sizee-sort

Ordenar los símbolos por tamaño. El tamaño se calcula como la diferencia entre el valor del símbolo y el valor del símbolo con el valor inmediatamente superior. Se imprime el tamaño del símbolo en lugar del valor.

-t radix

–radix= radix

Utilice radix como radix para imprimir los valores de los símbolos. Debe ser d para decimal, o para octal, o x para hexadecimal.

–target= bfdname

Especifique un formato de código de objeto que no sea el formato predeterminado del sistema.

-u

–únicamente indefinido

Mostrar sólo símbolos no definidos (los externos a cada archivo de objeto).

–sólo definida

Visualizar sólo los símbolos definidos para

TAMBIÉN TE INTERESA

Samsung Galaxy Z Fold7

El Galaxy Z Fold7 apunta a ser el plegable del año

La moda de los teléfonos plegables no ha terminado, ni mucho menos. Tras el Flip7, Samsung lo ha vuelto a hacer. La compañía surcoreana presenta el nuevo Galaxy Z Fold7, su dispositivo plegable más delgado, potente e inteligente hasta la fecha, diseñado para quienes buscan lo último en tecnología móvil sin renunciar a la versatilidad.

venta flash Huawei

Aprovecha la venta flash Huawei con descuentos de hasta el 50%

Días calientes para las compras de tecnología. Además del Amazon Prime Day 2025, también destacan las venta flash Huawei. La firma ha diseñado la que será la mayor campaña de ofertas del año desde el 8 al 31 de julio, con descuentos de hasta un 50% en una amplia gama de productos, y venta flash cada

Nothing Phone (3)

Otra vez que nos deja en shock: se presenta el Nothing Phone (3)

Siempre causa mucha expectativa el lanzamiento de productos por parte de quien suele hacer las cosas diferentes. Y ese alguien en la industria de los smartphones es Nothing. Tecnonautas siempre ha seguido muy de cerca todo lo que ha salido de esta firma, simplemente por funcionar y por ser diferente al resto. Y ahora llega