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

pagos por WhatsApp con Silbo

Silbo ensaya con un proyecto que es el deseo de muchos: pagos por WhatsApp

Aunque el dinero en efectivo tenga aún muchas resistencias en España, es evidente que ha entrado en una condición de peligro en extinción. Bizum triunfa y próximamente los pagos por WahstApp serán una realidad. Esta función de la plataforma de mensajería instantánea más popular en España es uno de los grandes deseos de la comunidad.

GeForce RTX Serie 50

GeForce RTX Serie 50: el futuro de las gráficas y de la IA ya está aquí

NVIDIA ha presentado sus GPUs GeForce RTX Serie 50 para ordenadores de sobremesa y portátiles. Con este lanzamiento, se abre una nueva era para el futuro de los dispositivos, los cuales estarán impulsados por la inteligencia artificial en todas sus variantes. Impulsadas por la arquitectura NVIDIA Blackwell, los núcleos Tensor de quinta generación y los núcleos

OnePlus 13

El móvil del año 2025 llega muy pronto: ya a la venta el OnePlus 13

Justo después de Reyes, OnePlus 13 salía el mercado europeo tras debutar en el asiático semanas atrás. Smartphone bestial donde los haya, muy equilibrado, potente y muy duradero. Eso sí, el precio supera los 1.000 euros. Pero es que puede ser el móvil del año. Seguramente la competencia mire con detalle todo lo que puede