开发者

How to get a stack trace in .NET in normal execution?

开发者 https://www.devze.com 2023-01-08 00:53 出处:网络
In开发者_开发知识库 VB .NET, I know I can get a stack trace by looking at the value of ex.StackTrace when handling an exception.How can I get the functions on the stack when I am not handling an excep

In开发者_开发知识库 VB .NET, I know I can get a stack trace by looking at the value of ex.StackTrace when handling an exception. How can I get the functions on the stack when I am not handling an exception? I am looking to implement a logging system of some sort to record the steps the user takes prior to a crash to assist in debugging.


Environment.StackTrace gives you a string, but for more detailed information and options, use the StackTrace class.

To be more specific, check out the constructor options:

http://msdn.microsoft.com/en-us/library/system.diagnostics.stacktrace.stacktrace.aspx

If you need the stack trace starting at the caller's frame (e.g. in a logging function: you don't want everything to start with MyLogMethod), you should try this one, which takes an int parameter, the number of frames to skip.

http://msdn.microsoft.com/en-us/library/wybch8k4.aspx

If you need the stack trace without source information (e.g. if you don't want to give away information about your source code), try this one:

http://msdn.microsoft.com/en-us/library/6zh7csxz.aspx

Hope that helps!


Environment.StackTrace


System.Environment.StackTrace
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号