Frage

Ich bin Art konzeptuell Gestaltung eines Plug-in würde ich gerne hier haben. Was ich will, ist eine Lage zu markieren Linie in meinem Code sein (so etwas wie, wie Haltepunkte hinzugefügt werden) und dann ein Trace-Protokoll von bekommen, wenn die Ausführung obwohl sie läuft. Anstatt Haltepunkte setzt (weil sie nicht außerhalb des Debuggers arbeiten), würde ich eher, dass im Innern des Compilers, die zusätzliche Protokollierung so AST hinzugefügt werden.

Der wichtigste Punkt wäre zu verschiedenen Läufen eines Programms zu vergleichen; es stürzt ab, wenn ich A tun, aber nicht, wenn ich B und die meisten der Code gleich sein sollte, so wo es divergierenden?

Im Moment mache ich das mit Datei IO und einem Diff-Tool; es funktioniert, aber ist ein bisschen unbeholfen.

Ich denke, die Frage ist: Könnte dies und hat so etwas wie dies geschehen ist geschehen

Keine korrekte Lösung

Andere Tipps

Ich weiß nicht, von allem, was genau Ihre Beschreibung passt. Allerdings ...

Für das Debugging-only Verwendung von Visual Studio 2010 hat "Tracepoints". Diese werden in der gleichen Weise wie Haltepunkte hinzugefügt, sondern als Anhalten des Programms, sie ausgegeben einige Text in die Debug-Ausgabe. Weil sie im Debugger gesetzt ist, sie haben keinen Einfluss auf den Quellcode überhaupt.

Wenn Sie Aktivität in einem Release-Build verfolgen wollen, dann fügen Sie einfach System.Diagnostic.Trace.WriteLine () in Ihren Code aufruft. Diese können mit TraceSwitches gesteuert, so dass sie standardmäßig deaktiviert und wandte sich nur an, wenn Sie zusätzliche Informationen benötigen, ein Problem zu diagnostizieren. Im Gegensatz zu Debug.WriteLine () ruft sie (standardmäßig) in Version enthalten ist, baut sowie Debug-Builds. Beachten Sie, dass diese Spur Anrufe kosten machen einen geringen Overhead, auch wenn die Trace deaktiviert ist, so vermeiden, dass sie in der Leistung kritische Bereiche des Codes verwendet wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top