ich bin Debuggen eines sehr seltenen Fall, so dass SEGSEV auftritt, weiß ich nicht, wann es geschehen wird, aber ich weiß, dass, wenn es passiert, eine lokale var ist -1
, also tat ich dies in gdbIst es möglich, alle ausgeführten Informationen für eine spätere Wiedergabe aufzuzeichnen?
break file.c:100 if t1 == -1
Das Problem ist, ich muss viele Schritte zurückgehen, um herauszufinden, was passiert ist, ist es möglich, alle Ausführungsinformationen aufzuzeichnen, so dass ich die Ausführung wiederholen kann?
Sie kann nicht Datensatz haben und die Ausführung als solche antworten aber Sie können den Ausführungspfad aufnehmen, die während des Laufes mit Code-Coverage-Tools aufgenommen wurde, können Sie es analysieren, welche Ausführungsablauf zu sehen führt zu dem Problem, dass Sie – Pras
debuggen möchten, können Sie Watchpoints in gdb verwenden oder Sie können einfach mit printf einloggen. – alinsoar
Führt https://www.sourceware.org/gdb/wiki/ProcessRecord/Tutorial, was Sie wollen? –