VS2022 C#调试器如何显示未初始化变量的值?
VS2022 C#调试器对未初始化变量的显示逻辑
针对你提到的场景(当前执行行早于变量定义行),VS2022的C#调试器会有以下表现:
- 若在监视窗口手动输入
cur_support_areas或cur_resistance_areas,调试器会提示当前上下文中不存在名称“xxx”——因为此时变量还未进入作用域,调试器无法识别它们。 - 当执行行推进到变量定义行(684、685行)但还未执行赋值时,调试器会根据变量类型显示默认值:
- 引用类型(如自定义类、数组)会显示
null - 值类型(如
int、bool)会显示对应类型的默认值(如0、false) - 可空值类型会显示
null
- 引用类型(如自定义类、数组)会显示
结合你描述的截图场景(执行行在678行,变量定义在684、685行),此时这两个变量还未被编译器纳入当前作用域,所以在调试器的自动窗口、局部窗口里都不会出现它们的条目,手动添加监视也会提示找不到变量。
内容的提问来源于stack exchange,提问作者OJNSim
相关产品推荐
相关产品推荐

