2009-09-05 6 views

Répondre

7

Il n'y a rien intégré, mais ce serait assez facile.

il suffit de prendre le StackTrace:

// Create trace from exception 
var trace = new System.Diagnostics.StackTrace(exception); 

// or for current code location 
var trace = new System.Diagnostics.StackTrace(true); 

Une fois que vous avez cela, il suffit itérer les cadres de pile, et les mettre en forme comme vous le souhaitez.

Il y aurait de nombreuses façons de mettre en forme ceci en HTML - cela dépend vraiment de la façon dont vous voulez que cela apparaisse. Le concept de base serait:

int frameCount = trace.Framecount; 
for (int i=0;i<frameCount;++i) 
{ 
    var frame = trace.GetFrame(i); 
    // Write properties to formatted HTML, including frame.GetMethod()/frame.GetFileName(), etc. 
    // The specific format is really up to you. 
} 
Questions connexes