Programme a reçu un signal SIGTRAP, Trace/point d'arrêt piège
Je suis le débogage d'une pièce de (embedded) du logiciel. J'ai mis un point d'arrêt sur une fonction, et pour une raison quelconque, une fois que j'ai atteint ce point d'arrêt et continue
je reviens toujours à la fonction (qui est une phase d'initialisation, une fonction ne doit être appelée qu'une seule fois). Lorsque je supprime le point d'arrêt, et continue
, GDB me dit:
Program received signal SIGTRAP, Trace/breakpoint trap.
Depuis que je travaille avec des points d'arrêt, je suppose que je suis tombé dans un "point d'arrêt piège". Ce qui est un point d'arrêt piège?
Ajout d'une plus détaillé titre. Il va aider les autres utilisateurs
C'est aussi le type de question que vous pouvez poster sur le l'électronique SE.
En quoi cette GDB Qn liées à l'électronique? 😮
Type
l'embedded got me, et quand je ne sais pas un programme comme GDB, je n'ai pas passer trop de temps à se préoccuper de ce produit, je viens de regarder quelque chose tagged intégré et déposer des commentaires parfois, nous ne nous en charge incorporée travail. Nous sommes probablement essentiellement les développeurs de systèmes embarqués, bien que beaucoup, comme moi, faible est la fin des microcontrôleurs. C'est une question qui s'inscrit sur le site, AINSI que beaucoup plus de gens de navigation, de sorte que certains avantage à poster ici. L'électronique est le Génie Électrique du site, de la Conception Électronique, mais les problèmes liés à la marque.
C'est aussi le type de question que vous pouvez poster sur le l'électronique SE.
En quoi cette GDB Qn liées à l'électronique? 😮
Type
info breakpoints
et assurez-vous que tous les points d'arrêt sont supprimés.l'embedded got me, et quand je ne sais pas un programme comme GDB, je n'ai pas passer trop de temps à se préoccuper de ce produit, je viens de regarder quelque chose tagged intégré et déposer des commentaires parfois, nous ne nous en charge incorporée travail. Nous sommes probablement essentiellement les développeurs de systèmes embarqués, bien que beaucoup, comme moi, faible est la fin des microcontrôleurs. C'est une question qui s'inscrit sur le site, AINSI que beaucoup plus de gens de navigation, de sorte que certains avantage à poster ici. L'électronique est le Génie Électrique du site, de la Conception Électronique, mais les problèmes liés à la marque.
OriginalL'auteur Randomblue | 2012-03-21
Vous devez vous connecter pour publier un commentaire.
Point d'arrêt piège signifie que le processeur a atteint un point d'arrêt. Il y a deux possibilités pour expliquer ce qui se passe. Très probablement, votre code d'initialisation est frappé parce que votre CPU est en cours de réinitialisation et de frapper le point d'arrêt de nouveau. L'autre possibilité serait que le code où vous définissez le point d'arrêt est exécuté dans des lieux autres que d'initialisation. Parfois agressifs optimisation du compilateur, il peut être difficile de dire exactement quel code de votre point d'arrêt des cartes et sur les chemins d'exécution peut y arriver.
oui, il est possible pour le CPU pour réinitialiser, puis cliquez sur le point d'arrêt sans perturber la session GDB.
OriginalL'auteur
L'autre possibilité à laquelle je pense est:
1.Votre processus est en cours d'exécution plus d'un thread.
Pour eg - dire 2 x & y.
2.Fil y rencontre le point de rupture mais vous avez attaché gdb à visser x.
Ce cas est un Oligo - /point d'arrêt piège.
OriginalL'auteur
J'ai eu ce problème sous linux projet dans Visual studio 2015 et le débogage à distance. Ma solution est project_properties -> propriétés de Configuration -> Débogage -> mode de Débogage et changez la valeur de "gdbserver" à "gdb"
OriginalL'auteur
Si vous utilisez V chauve-souris de sauvegarde de l'approvisionnement et de sauvegarde de votre tension conduit inférieur à 1.65 V, puis vous obtenez le même problème après raccordant celui d'un bloc d'alimentation.
Dans ce cas, vous devez couper l'alimentation électrique et de renouer avec la tension correcte. Alors le problème de débogage s'en va.
OriginalL'auteur