【发布时间】:2011-09-14 23:54:31
【问题描述】:
我正在调试一个定期引发IOException 的测试,注意到一个文件不能被删除,因为它正在被另一个进程使用。我怀疑该进程确实是我的测试工具,并且该进程中的某些其他线程没有按照我的预期处理它的文件资源。
有没有一种工具可以用来确定哪个线程持有阻碍锁?如果我可以识别线程,那么我可以检查它的调用堆栈并至少尝试确定为什么资源还没有被释放。 SOS debugging tool 看起来很有希望,但我没有看到任何可以消除我调查中大量猜测的功能。
一种想法是识别本机操作系统线程 ID,然后可以通过 SOS 将其映射到托管线程 ID。我将如何完成前者?
【问题讨论】:
标签: .net io ioexception sos file-locking