Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

244
Vistas
Valgrind no muestra el uso correcto del montón cuando ejecuta una aplicación a través de un script de shell

Estoy usando valgrind para verificar la asignación de almacenamiento dinámico de la herramienta de archivo/compresión p7zip (7zip en Windows) en Linux. Descargué el código de aquí ( https://sourceforge.net/projects/p7zip/files/p7zip/ ) y lo compilé (make all_test) y luego lo instalé (./install.sh).

Después de la instalación, se crea un script de shell llamado '7Za' en /usr/local/bin y su contenido se lee como:

 #! /bin/sh "/usr/local/lib/p7zip/7za" "$@"

Además, en la ruta especificada /usr/local/lib/p7zip/7za se coloca el ejecutable de 7za.

Ahora, si ejecuto valgrind para probar el uso de memoria de 7za (que básicamente ejecuta el script de shell) usando este comando, obtengo solo 2 KB de uso de almacenamiento dinámico.

 valgrind 7za x file.7z

Mientras que, si uso directamente el binario 7za, obtengo un alto uso de memoria de alrededor de 1 MB, que también parece real:

 valgrind /usr/local/lib/p7zip/7za x /home/z/Desktop/file.7z

De manera similar, cuando construyo el código, se crea un directorio bin que contiene el ejecutable 7za. Si lo ejecuto desde allí, nuevamente obtengo un uso de memoria alto y correcto.

Estoy tratando de entender cuál es la diferencia en ambos enfoques. Por qué usar la aplicación instalada (ejecutar a través de la secuencia de comandos) no proporciona un uso correcto de la memoria.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Se supone que valgrind depura los problemas relacionados con la memoria para los ejecutables ELF de 64 bits o ELF de 32 bits. No se puede usar con scripts de shell. Por lo tanto, no podrá depurar su aplicación utilizando el script de shell.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda