Ceci est un mad-hack, mais j'essaie de provoquer délibérément une segfault à un point particulier dans l'exécution, donc valgrind va me donner une trace de la pile.Valgrind: cause délibérément segfault
S'il y a une meilleure façon de le faire, dites-le moi, mais je serais toujours curieux de savoir comment procéder délibérément à une erreur de segmentation, et pourquoi ma tentative n'a pas fonctionné.
Ceci est ma tentative avortée:
long* ptr = (long *)0xF0000000;
ptr = 10;
Je pensais que valgrind devrait au moins prendre ce en écriture invalide, même si ce n'est pas une violation de segmentation. Valgrind n'en dit rien.
Des idées pourquoi?
EDIT
Réponse acceptée, mais j'ai encore quelques mises voix pour toutes les suggestions d'une façon plus saine d'esprit pour obtenir une trace de la pile ...
Connexes: https: // stackoverflow.com/q/18986351/694576 – alk