首页 > 解决方案 > 保存调用堆栈

问题描述

简短版本:有没有办法以某种方式保存当前调用堆栈并将其存储以备后用?

背景:这个问题似乎很常见,以至于我可能只是错过了正确的搜索词。

某个类需要从服务器读取一个变量。我只是使用 API 将请求发送到服务器,并且在将来的某个时候,一个单独的线程将获得回复并在原始调用者类上调用一些后续方法。

很简单,但可能存在错误:我尝试获取的变量不存在,类型不正确或其他。在这些情况下,我可以输出到调试日志的最佳结果可能是:“无法找到变量 X”和工作人员的堆栈跟踪。我真正想要的是原始调用者的堆栈跟踪,我可以将其存储在某处并在出现错误时打印出来,这样我就可以缩小问题范围,而不必追查它是哪个调用者。

标签: c#debugging

解决方案


Environment.StackTrace会给你当前的堆栈跟踪。


推荐阅读