J'ai besoin de détecter si mon Makefile fonctionne sous valgrind (indirectement, en utilisant valgrind --trace-children = yes), je sais comment le faire depuis C mais je n'ai pas trouvé le moyen de le faire depuis un script,Comment détecter s'il est exécuté sous valgrind dans un fichier make ou un script shell?
Les réponses précédentes ne fonctionnent que sous Linux. Pour Mac OS X, je vais faire un grep pour VALGRIND_STARTUP_PWD dans l'environnement, sauf si quelqu'un a une meilleure idée.
Neat. Savez-vous si le nom a changé? Il y a des entrées vgpreload mais pas de vg_preload sur ma machine. –
Ceci venait de la version 3.3.1 de valgrind. Il y a de fortes chances que le nom de la bibliothèque ait changé entre les versions. vous pourriez être en mesure de sortir avec un '/ valgrind /' pour le grep, pourvu que valgrind soit installé dans quelque chose comme/usr/local/lib/valgrind/... – Petesh
Je viens juste de lancer ma boîte ubuntu et elle m'a dit ' vgpreload 'sans le trait de soulignement. Cela peut être une chose ubuntu qui a causé le changement de nom. Ma réponse originale était basée sur une construction à l'intérieur d'un environnement Linux From Scratch – Petesh