我有一个常规的C#代码.I have no exceptions.我想以编程方式记录当前堆栈跟踪,以便进行调试.例子:

public void executeMethod() 
{
    logStackTrace();
    method();
}

推荐答案

请看一下System.Diagnostics命名空间.里面有很多好吃的东西!

System.Diagnostics.StackTrace t = new System.Diagnostics.StackTrace();

这真的很好,有一个戳周围,以了解在引擎盖下发生了什么.

我建议您研究一下日志(log)解决方案(如NLog、log4net或Microsoft模式与实践企业库),这些解决方案可能会达到您的目的,然后是一些.

.net相关问答推荐

Docker失败文件找不到

等待时 Blazor 服务器按钮刷新

部署时如何控制红隼端口?

查找 2 个已知值之间的字符串

如何将 Javascript 日期时间转换为 C# 日期时间?

C# 有办法给我一个不可变的字典吗?

C#:内存不足异常

将双精度转换为带有 N 个小数的字符串,点作为小数分隔符,并且没有千位分隔符

C# 中的 myCustomer.GetType() 和 typeof(Customer) 有什么区别?

在 .NET Core RC2 中构建 .exe 文件

测试没有预期的异常

如何使用 c# 仅获取目录中的文件名?

log4net的正确使用方法(记录器命名)

如何过滤具有多个条件的 Directory.EnumerateFiles?

在 WPF DataGrid 中绑定 ComboBoxColumn 的 ItemsSource

从 'System.Int32' 到 'System.Nullable`1[[System.Int32, mscorlib]] 的无效转换

并发字典正确用法

使用 C# 将时间跨度值转换为格式hh:mm Am/Pm

MVVM 没有意义吗?

LINQ 可以与 IEnumerable 一起使用吗?