处理c#中的应用程序挂起/死锁



问题:是否有任何方法可以记录或确定在提供给客户端的应用程序中死锁发生的位置(可能通过在构建过程中启用某些标志)?

背景:通常当我测试代码并发生死锁时,我在Visual Studio中运行,所以我可以点击debug all并找到哪个线程正在等待以及在哪里,我立即知道问题是什么。然而,有一个特定的问题导致我的应用程序很少冻结(在单元或集成测试中没有检测到)。这发生在客户端机器上,他只运行可执行二进制文件。我很想知道我是否可以启用任何功能来帮助报告这些问题,因为如果没有调试器,很难确切地说问题会是什么。

你可以让客户端从任务管理器或进程资源管理器创建一个迷你转储。

最新更新