我需要分析一个事后的Windows转储文件。该过程停留在.Net SqlDataReader上,通过网络从SQL服务器读取值。使用!dlk或!syncblk没有发现死锁。我可以看到它在内部进行了非常缓慢的进程并获取了行。它正在建立的名单正在扩大。当我这样做的时候,我发现了这个错误。
0:009> !GLE
LastErrorValue:(Win32)0x3e5(997) - 重叠的I / O操作正在进行中。
LastStatusValue:(NTSTATUS)0xc0000034 - 找不到对象名称。
Running!teb给出了这个输出。
0:009> !TEB
TEB at 000007ffffee4000
ExceptionList: 0000000000000000
StackBase: 000000001a800000
StackLimit: 000000001a7f9000
SubSystemTib: 0000000000000000
FiberData: 0000000000001e00
ArbitraryUserPointer: 0000000000000000
Self: 000007ffffee4000
EnvironmentPointer: 0000000000000000
ClientId: 000000000000091c . 00000000000043bc
RpcHandle: 0000000000000000
Tls Storage: 000000001a8927e0
PEB Address: 000007fffffdc000
LastErrorValue: 997
LastStatusValue: c0000034
Count Owned Locks: 0
HardErrorMode: 0
这可能是这个问题的根本原因吗?有人可以对这个Win32错误以及如何解决这个问题提出一些看法吗?