¿Cómo detectar si se ejecuta bajo valgrind en el archivo de marca o shell script?

StackOverflow https://stackoverflow.com/questions/360970

  •  21-08-2019
  •  | 
  •  

Pregunta

necesito para detectar si mi Makefile se ejecuta bajo valgrind (indirectamente, usando valgrind --trace-children = sí), sé cómo hacerlo de C, pero no he encontrado la manera de hacerlo desde un script,

Las respuestas anteriores funciona sólo en Linux. Para Mac OS X que estoy yendo a un grep para VALGRIND_STARTUP_PWD en el medio ambiente, a menos que alguien tiene una idea mejor.

¿Fue útil?

Solución

desde un shell:

grep -q '/valgrind' /proc/$$/maps && echo "valgrindage"

Esto determina si las bibliotecas valgrind precargado están presentes en el mapa de direcciones del proceso. Este es razonablemente efectiva, pero si le sucede que tiene una biblioteca no relacionados con valgrind que comparte el '/ valgrind' apodo por lo que recibirá un falso positivo (poco probable).

[he cambiado el patrón de grep vg_preload a / valgrind, como las pruebas en Debian / Ubuntu reveló que el nombre de la biblioteca era diferente, mientras que un partido directorio de valgrind es más probable que tenga éxito.]

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top