Ich sehe die Ausnahmen und Details davon, aber was ich wissen will, ist der Zustand der Variablen, wenn das passiert. Also ich denke, was ich brauche, ist die Intellitrace-Datei in VS2015 richtig laden? Oder fehlt mir etwas? Ich sah mich um und konnte nicht finden, wonach ich suchte.Kann ich Intellitrace von einer Application Insights-Ausnahme in Azure abrufen?
1
A
Antwort
1
IntelliTrace erfasst keine Werte von lokalen Variablen. Soweit ich weiß, aus Leistungsgründen. Es zeichnet nur Werte von tatsächlichen Parametern und Werten auf, die von Methoden zurückgegeben werden. Allerdings gibt es auch hier Einschränkungen. Wenn ein Aktualparameter (oder ein Rückgabewert) ein Referenztyp ist, erfasst IntelliTrace nicht das gesamte Objektdiagramm, sondern nur die erste Ebene. Zum Beispiel, nehmen wir an, dass es Klasse A. Es ist 2 Eigenschaften:
int IntProp { get; set; }
SomeClass ObjectProp { get; set; }
In diesem Fall IntelliTrace wird uns erlauben, nur auf einen Wert von IntProp
zu untersuchen. Als ObjectProp
können wir nur sehen, ob es gesetzt ist oder nicht. Es ist nicht möglich, Eigenschaften einer Instanz von SomeClass
zu sehen.
Also, in dem Fall, wo ich eine Ausnahme bekomme, wenn Clients meinen Code ausführen, aber ich muss mehr wie den Status aller Variablen wissen, ist die beste Sache zu tun, nur eine Reihe von Variablen als benutzerdefinierte Parameter hinzufügen? Gibt es eine einfache Möglichkeit, jedes Objekt an die Stelle der Ausnahme zu bringen und es in Anwendungsinformationen zu speichern? – punkouter
Es gibt einige Problemumgehungen, aber sie erfordern zusätzlichen Aufwand. Sie können versuchen: benutzerdefinierte Diagnoseereignisse zu definieren, IProgrammableDataQuery interaface zu verwenden, Tracepoints zu erstellen und IntelliTrace zusammen mit Live-Debugging zu verwenden. Allerdings können nur die ersten beiden in der Produktion verwendet werden. Außerdem können Sie nicht alle Variablen erfassen, sondern nur ausgewählte. –