有人可以帮助我使用任何开源工具检测程序中的死锁吗?
答案 0 :(得分:2)
记住我猜是因为你没有提供任何代码或任何东西。但是,它应该在Visual Studio中非常简单。让我们假设您的应用程序正在运行并且已经遇到死锁,这通常意味着多个线程在不使用lock(...)
操作的情况下停留在共享变量的读/写上。
因此,如果您在Visual Studio中暂停调试并转到Threads
窗口,您应该能够双击每个线程并查看它们暂停的行,这至少会告诉你哪些入口点是锁定的。修复它将是一个非常不同的故事,因为你需要弄清楚它是如何发生的,但这应该可以获得你正在寻找的信息。
在某些情况下,您可能需要通过lock(...)
操作来使用锁定。