Ich habe eine Funktion, die einige Male aufgerufen wird und schließlich Fehler verursacht.
Ich möchte jedoch keinen Haltepunkt für diese Funktion festlegen und nach jedem Aufruf anhalten, da ich jahrelang hier sein werde.
Ich habe gehört, dass ich counter
in GDB einen Haltepunkt setzen kann, und jedes Mal, wenn der Haltepunkt erreicht wird, wird der Zähler dekrementiert und nur ausgelöst, wenn counter
= 0.
Ist das richtig und wenn ja, wie mache ich das? Bitte geben Sie den GDB-Code zum Setzen eines solchen Haltepunkts an.
gdb
breakpoints
Tony Stark
quelle
quelle
Antworten:
Lesen Sie Abschnitt 5.1.6 des GDB-Handbuchs. Was Sie tun müssen, ist zuerst einen Haltepunkt festzulegen und dann einen 'Ignorierzähler' für diese Haltepunktnummer festzulegen, z
ignore 23 1000
.Wenn Sie nicht wissen, wie oft Sie den Haltepunkt ignorieren sollen, und nicht manuell zählen möchten, kann Folgendes hilfreich sein:
quelle
continue <n>
Dies ist eine bequeme Methode, die die Haltepunktzeiten der letzten Treffer überspringt
n - 1
(und daher beim n-ten Treffer stoppt):Haupt c
Verwendung:
GDB-Sitzung:
quelle