c# - 保存调用堆栈
问题描述
简短版本:有没有办法以某种方式保存当前调用堆栈并将其存储以备后用?
背景:这个问题似乎很常见,以至于我可能只是错过了正确的搜索词。
某个类需要从服务器读取一个变量。我只是使用 API 将请求发送到服务器,并且在将来的某个时候,一个单独的线程将获得回复并在原始调用者类上调用一些后续方法。
很简单,但可能存在错误:我尝试获取的变量不存在,类型不正确或其他。在这些情况下,我可以输出到调试日志的最佳结果可能是:“无法找到变量 X”和工作人员的堆栈跟踪。我真正想要的是原始调用者的堆栈跟踪,我可以将其存储在某处并在出现错误时打印出来,这样我就可以缩小问题范围,而不必追查它是哪个调用者。
解决方案
Environment.StackTrace
会给你当前的堆栈跟踪。
推荐阅读
- angular6 - Angular 6 HttpClient 未将响应转换为接口
- bitbucket - 在 Bitbucket 上的 README.md 中写入一个数字,但没有指向提交的链接
- django - RelatedObjectDoesNotExist 在 /login/
- bash - 为 3 个不同的变量创建一个循环以输出所有可能的组合
- scala - 如何从 Either 返回 Right 类?
- machine-learning - 深度学习不适合在训练范围之外拟合简单的非线性函数(外推)?
- eclipse-plugin - STM32 Atollic TrueSTUDIO - 内存的图形视图
- java - 为什么程序在启动后立即关闭?
- windows - JetBrains IDE 启动时出错:应用程序无法正确启动 (0xc000007b)
- c++ - 询问输入数据的数量并将输入数据存储在数组中