Je veux définir une condition sur un point d'arrêt GDB pour ne casser que si un certain nom de la fonction apparaît dans la liste arrière. Quelle est la meilleure façon de faire cela? P>
3 Réponses :
Je ne sais pas comment faire exactement ce que vous demandez, mais une solution de contournement éventuelle, si vous avez accès au code source de la fonction correspondante, il est de définir une variable booléenne globale à true code> Au début de la fonction, puis définissez-la sur
False code> juste avant la sortie de la fonction. Ensuite, vous pouvez définir un point d'arrêt conditionnel (à l'aide de la commande
code>) pour arrêter uniquement lorsque cette variable booléenne est
true code>. P>
C'est ce que j'ai fini par faire, mais j'aimerais savoir comment le faire sans recompilation.
Alternative à la réponse de Rix0RRR:
b main commands set $inParentFunction = 0 c end b ParentFunction commands set $inParentFunction = 1 c end b FunctionImInterestedIn if ($inParentFunction)
Duplicaté possible de Y a-t-il un moyen de définir un point d'arrêt dans GDB qui est conditionnel sur la pile d'appels?