0

有人可以帮助我使用任何开源工具检测程序中的死锁吗?

4

1 回答 1

3

记住我猜是因为你没有提供任何代码或任何东西。但是,它在 Visual Studio 中应该非常简单。假设您的应用程序正在运行并且遇到死锁,这通常意味着多个线程在不使用lock(...)操作的情况下卡在共享变量的读/写上。

因此,如果您在 Visual Studio 中暂停调试并转到Threads窗口,您应该能够双击每个线程并查看它们暂停的行,这至少会告诉您哪些入口点被锁定。修复它将是一个完全不同的故事,因为您需要弄清楚它是如何发生的,但这应该可以为您提供您正在寻找的信息。

lock(...)在某些情况下,您可能需要通过操作使用锁定。

于 2012-10-10T11:35:48.273 回答