在VB .NET中,我知道通过在处理异常时查看ex.StackTrace
的值,我可以获得堆栈跟踪。当我不处理异常时,如何在堆栈上获取函数?我希望实现某种日志系统来记录用户在崩溃之前采取的步骤,以协助调试。
答案 0 :(得分:19)
Environment.StackTrace
为您提供了一个字符串,但是有关更详细的信息和选项,请使用StackTrace
类。
更具体地说,请查看构造函数选项:
http://msdn.microsoft.com/en-us/library/system.diagnostics.stacktrace.stacktrace.aspx
如果您需要从调用者的帧开始的堆栈跟踪(例如,在日志记录功能中:您不希望所有内容都以MyLogMethod
开头),您应该尝试使用{{1}参数,要跳过的帧数。
如果您需要没有源信息的堆栈跟踪(例如,如果您不想泄露有关源代码的信息),请尝试以下方法:
希望有所帮助!
答案 1 :(得分:7)
答案 2 :(得分:7)
System.Environment.StackTrace