Gibt es irgendwelche Attribute, die ich auf Standardmethoden anwenden kann, damit solche Methoden nicht in Stack-Traces erscheinen? Ich habe viele von ihnen und in einigen Fällen sind sie mehrere Ebenen tief. Es ist nur die Dinge überladen.
Beispielcode:
%Vor%Dies wirft diesen Stack-Trace:
bei Spork.Program.ThrowMe () in C: \ Projekte \ XXX \ Testing Sandbox \ ConsoleTesting \ Program.cs: Zeile 58
bei Spork.Program.HideMe () in C: \ Projects \ XXX \ Test Sandbox \ ConsoleTesting \ Program.cs: Zeile 64
bei Spork.Program.Main (String [] args) in C: \ Projekte \ XXX \ Testing Sandbox \ ConsoleTesting \ Program.cs: Zeile 70
Setzen Sie Console.WriteLine (e) in den Catch-Block. Wechseln Sie zum Release-Build und drücken Sie Strg + F5. Du wirst folgendes sehen:
%Vor%Beachten Sie, dass die HideMe () -Methode in der Stack-Ablaufverfolgung nicht sichtbar ist. Mission erfüllt.
Der Methodenaufruf wurde in der Ablaufverfolgung nicht angezeigt, da der JIT-Optimierer die Methode in einführte: Dies ist die einzige Möglichkeit, Methoden im Stack-Trace auszublenden.
Es ist nicht etwas, das Sie gut kontrollieren können, die Methode muss "klein" sein und keine Ausnahme selbst auslösen. Dies wird normalerweise normalerweise als ein Problem betrachtet, nicht als ein Merkmal. Schwer herauszufinden, wie man Code von A nach B bekommt.
Tags und Links .net c# exception stack-trace