使用VS调试时在System.Type上打上了条件断点。会报一个错误:不支持检查类型为system.type的调试对象中的对象状态。只因为条件里使用了Type.FullName来判断。只因为有些类型是匿名函数,所以会报错。所以不在匿名函数类型上判断 FullName。
问题原因
在调试器里对 System.Type 相关对象设置条件断点(如用 Type.FullName 判断)时,会报"不支持检查类型为 System.Type 的调试对象中的对象状态"。
规避方式
- 避免在匿名函数生成的类型上读取 FullName 等成员。
- 改用字符串、数值等可安全求值的表达式作为断点条件。
- 把判断逻辑写进代码里,断点命中后再自行判断。