2016-07-07 26 views
0

Kürzlich habe ich die Verwendung von PostSharp in Bezug auf Fehlerberichterstattung ausgewertet. Nachdem ich herausgefunden habe, dass .Net keinen besonders einfachen Mechanismus zum Erzielen von Werten innerhalb des Stack Frame (wie Parameter) bietet, habe ich mich mit Postsharp für Methodeninjektionstechniken beschäftigt.PostSharp Zugriff auf lokale Variablen

Dies erweist sich als sehr nützlich, um die Werte der Parameter der Methoden, die OnEnter verwenden, zu erhalten, aber ich muss dies in irgendeiner Form zwischenspeichern.

Wenn ich jedoch auf lokale Variablen zugreife, weil sie sich auf dem Stack befinden, bin ich nicht sicher, ob und wie dies mit Postsharp oder einer anderen alternativen Bibliothek erreicht werden könnte. Ich habe bereits die Unmanaged APIs sowohl für das Profiling als auch für das Debugging angeschaut und dies scheint ein eher schwerfälliger Ansatz für etwas so einfaches wie das Generieren eines Fehlerberichts zu sein.

Antwort

0

Dies ist nicht möglich mit PostSharp und ich denke, es ist sehr schwierig, mit jedem IL Weben Werkzeug zu erreichen.

Sie müssten Low-Level-IL-Rewriting-Tools wie Cecil verwenden.

Generating a minidump file Wenn eine Ausnahme ausgelöst wird, wäre auch eine bemerkenswerte Option.

+0

Ich vermutete so viel, aber ich dachte, ich würde die Frage sowieso stellen. Im Grunde versuchen wir eine Emulation eines anderen Werkzeugs, das wir benutzt haben, aber wir haben zu wenig Aktualisierungen und Unterstützung, die wir verwerfen mussten, was als Teil des Stack-Trace Locals und Parameterwerte liefert. Auch bin ich ein bisschen eingerostet, wenn es um das Generieren und Lesen einer Minidump-Datei geht (ich hatte schon die Schmerzen zu lernen, wie man PDB-Dateien liest). –