Frage:
Sind Reverse Debugger unter OSX nicht möglich?
baordog
2015-10-23 20:29:55 UTC
view on stackexchange narkive permalink

Ich war beeindruckt von den Reverse-Debugging-Funktionen (dh einer Zeitreise durch ein Programm) in GDB und Tools wie QIRA, aber ich bin ein wenig verwirrt darüber, warum es für die OSX-Plattform kein solches Programm gibt (GDS tut dies) Reverse Debugging unter OSX wird nicht unterstützt.) Gibt es einen technischen Grund, warum ein Reverse Debugger unter OSX nicht möglich ist? Ich würde mir vorstellen, dass unter denselben Architekturen die Aufgabe, einen zeitlosen Debugger zu implementieren, fast genau dieselbe wäre. Warum sollte eine Portierung auf OSX unmöglich oder schwierig sein? Ich gehe meistens davon aus, dass es hier eine technische Herausforderung gibt, weil niemand ein so offensichtlich nützliches Programm implementiert hat.

Einer antworten:
Brendan Dolan-Gavitt
2015-10-24 21:36:59 UTC
view on stackexchange narkive permalink

Ehrlich gesagt ist die Unterstützung für reversibles Debuggen von Aktien in GDB nicht allzu nützlich. Es ist wirklich langsam (weil es einzelne Anweisungen aufzeichnet), daher müssen Sie es im Allgemeinen nur für einen kritischen Teil des Programms aktivieren. Ich kenne nicht sehr viele Leute, die es verwenden, was möglicherweise erklärt, warum es nicht weit verbreitet wurde. Ich bin mit der Implementierung von QIRA nicht vertraut, daher weiß ich nicht, welche Gründe dafür vorliegen.

So etwas wie Mozillas rr kann viel sein schneller, weil es an der Systemaufrufgrenze aufzeichnet. Das hängt jedoch viel mehr mit dem jeweiligen Betriebssystem zusammen, sodass die Neuimplementierung für eine andere Plattform viel Arbeit erfordert.

Eine letzte Möglichkeit ist ein Gesamtsystem, das Hardwareereignisse aufzeichnet und daher betriebssystemunabhängig ist Standard. Aber dann müssen Sie ein vollständiges Betriebssystem ausführen, um ein Programm aufzuzeichnen / wiederzugeben, sodass dies möglicherweise auch nicht sehr attraktiv ist. Dies ist der Weg, den PANDA und einige experimentelle QEMU-Patches einschlagen (beachten Sie, dass PANDA die Anweisungen für den gdb-Rückschritt noch nicht unterstützt, aber implementiert werden könnte).



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...