使用 Windbg 将所有异常转储到堆上。什么是 System.Text.DecoderExceptionFallback 和 System.Text.EncoderExceptionFallback?
当我调查堆、查看异常、windbg 崩溃时/之后,我总是会列出这三个:
- System.ExecutionEngineException
- System.StackOverflowException
- System.OutOfMemoryException
我知道它们为什么在那里。这是有道理的。但每次我做这些转储时,我都会看到这两个挂在列表上,
- System.Text.DecoderExceptionFallback
- System.Text.EncoderExceptionFallback
我一直忽略这两个。但为什么两个都在堆上呢?我试图嗅探一些信息,但似乎找不到任何有用的东西。也许这里有人可以告诉我为什么它们在堆上?我已经阅读了 MSDN 上的课程,但这并没有给我任何东西。根据我在 MSDN 上阅读的内容,我认为它们并不像前三个那样重要。但也许他们是?
请填写我:)
When I am investigating the heap, looking at exceptions, under/after a crash with windbg, I always get listed these three,
- System.ExecutionEngineException
- System.StackOverflowException
- System.OutOfMemoryException
And I know why they are there. It makes sense. But every time I do these dumps, I see these two hanging on the list,
- System.Text.DecoderExceptionFallback
- System.Text.EncoderExceptionFallback
I have always neglected these two. But why is the two on the heap? I have tried to sniff up some info, but I can not seem to find anything usefull. Maybe someone here can tell me why they are on the heap? I have read about the classes on MSDN, but this does not give me anything. I do not think that they, after what I have read on MSDN, are important like the first three. But maybe they are?
Please fill me in :)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
它们不是异常,只是类型名称中碰巧有“异常”一词。请参阅 http://msdn.microsoft.com/en-us/库/system.text.decoderexceptionfallback.aspx。
不幸的是,SOS 不支持列出从特定类型派生的所有实例,因此没有准确的方法来转储堆上的所有实际异常。即你会经常看到误报。
They are not exceptions, they just happen to have the word "Exception" in the type name. See http://msdn.microsoft.com/en-us/library/system.text.decoderexceptionfallback.aspx.
Unfortunately SOS doesn't support listing of all instances derived from a specific type, so there's no accurate way to dump all the actual exceptions on the heap. I.e. you will often see false positives.