2009-09-11 18 views

Respuesta

25

Desde el (Mac OS X, pero otros son similares) man page:

tira elimina o modifica la tabla de símbolos unido a la salida de el ensamblador y el enlace editor. Esto es útil para ahorrar espacio después de que se haya depurado un programa y para limitar símbolos enlazados dinámicamente.

Nota lo de "después de un programa ha sido depurado" debido a la depuración de un ejecutable es despojado muy duro, por cierto. El "límite de símbolos enlazados dinámicamente" es un uso más raro: le permite hacer inaccesibles algunas de las funciones en una biblioteca externa quitando las entradas de índice que indican dónde se encuentra el código real. Esto también se explica en la página de manual.

Tan barato y abundante como el disco en la mayoría de las situaciones, simplemente no te molestarías más con esto. Pero puede quererlo para situaciones con limitaciones de espacio, como dispositivos embebidos, discos de rescate, etc.

+21

Siempre y cuando tenga una copia sin ejecutar del ejecutable, puede enviar libremente la versión eliminada y depurar contra la versión no eliminada, cuando sea necesario . Esto es común en el desarrollo integrado, por ejemplo: si un archivo central (de un cliente que ejecuta el binario depurado) entra desde el campo, puede cargar el binario sin comprimir en gdb y luego abrir el archivo central y tener capacidad de resolución de errores simbólica completa. –

+18

Si bien el espacio en el disco duro es barato, el rendimiento del disco no lo es. Mientras más pequeños sean los binarios, menos E/S de disco debe realizarse cuando se carga la aplicación/biblioteca. –

+3

Lo secundaré. Los programas gordos llevan a mi computadora respetablemente poderosa a un rastreo deplorable. Programadores! ¡Lo pequeño es hermoso! Eso sí, otra razón para tiempos de carga lentos es bibliotecas fragmentadas. Están fragmentados para hacerlos más finos y evitar, ja ja, la carga innecesaria. Esto importa menos en la era de SSD de acceso aleatorio rápido. – spraff

7

Quita información de símbolos del binario. El binario contiene cierta información que asigna símbolos (por ejemplo, nombres de funciones) a ubicaciones particulares. strip elimina esos.

4

En su funcionamiento por defecto, el comando tira elimina la tabla de símbolos y cualquier información de depuración de un archivo ejecutable .

From here