gpt4 book ai didi

c# - 我可以在我的 C# 应用程序中获取所有线程的堆栈跟踪吗?

转载 作者:IT王子 更新时间:2023-10-29 04:31:31 27 4
gpt4 key购买 nike

我正在调试我在工作中破解的一个大型应用程序中的一个明显的并发问题。有问题的错误只会在运行许多(12+)小时后出现在某些性能较低的机器上,而且我从未在调试器中重现过它。因此,我的调试工具基本上仅限于分析日志文件。

C# 可以轻松获取抛出异常的线程的堆栈跟踪,但我还想额外获取抛出异常时当前在我的 AppDomain 中执行的所有其他线程的堆栈跟踪。

这可能吗?

最佳答案

CodePlex 上有一个名为 Managed Stack Explorer 的工具(我相信起源于微软)。它使用调试和分析 API 来捕获正在运行的 .Net 应用程序中线程的堆栈跟踪,而无需修改应用程序。

您可以运行您的应用程序直到遇到问题,然后使用此工具对其进行分析以捕获所有正在运行的线程的当前堆栈跟踪。这种方法的好处是您无需修改​​应用程序(检测它可能会改变其行为),而且该工具是免费的。

关于c# - 我可以在我的 C# 应用程序中获取所有线程的堆栈跟踪吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2724045/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com