1
1
我不太确定,但你可能会使用!要查看同步块对象,如果在没有任何参数的情况下调用它,我认为应该看到线程拥有的同步块。 如果有同步块死锁,则扩展名 SOSEX 可能是你需要的。这个扩展提供了命令!显示哪些线程正在等待哪个锁的DLK。这只适用于同步块,但是,如果使用lock()(monitor.enter),则不会检测到其他同步对象上的死锁,这对您来说应该不是问题。 |
2
1
尝试 sosex 而且!DLK |
3
1
我在这里发布了一个模拟主题, Using C# is it possible to test if a lock is held on a file 我引用了很多文章等等,但是等待链遍历(wait-chain-traversal,WCT)可以帮助您,它有点敏感,但是这个msdn-mag bugslayer 文章展示了如何在托管上下文中在windbg中使用wct。 |
4
0
到目前为止,最好的方法是看!DSO用于所有线程堆栈,并查看哪些线程堆栈引用了锁。之后的快速检查让我们能够跟踪哪些线程持有锁。不过,这不是一个很好或很快的方法… |
5
0
提供可跟踪性的方法是将锁包装到IDisposable接口中并替换: 锁(mylock)…} 具有 使用(new disposable elock())…} 您可以将构造函数和dispose()方法记录到控制台、log4net或其他机制中。这将允许您看到什么是被锁定的,什么是被阻塞的。 |
Emopusta · 从后端到前端的图像路径不工作 2 年前 |
Asdrubal Hernandez · Linq查询特定数组索引出错 2 年前 |
Niyazi Babayev · 如何在表达式中动态应用表达式? 2 年前 |
Dansih · .Net核心自定义身份验证方案 2 年前 |
lolorekkk · 面板插入。NET WinForm 2 年前 |