Mr.*_*Boy 5 c# visual-studio-2017 vscode-debugger
像这样初始化一个类:
var x = new Item()
{
ID = (int)...,
Name = (string)...,
..
};
Run Code Online (Sandbox Code Playgroud)
我在其中一项任务中收到 InvalidCastException。它们有很多,即使我逐行运行调试器,整个表达式也会发生异常。异常没有给出任何线索,它试图将什么转换为什么。
有没有办法单独调试每个作业?我已经看到调试器在表达式上分别停止了 3 次,foreach(x in y)所以在这里没有这样做似乎有点奇怪,并且有损使用这种方便的初始化语法的吸引力。也许我可以使用更细粒度的调试步骤?
您的问题是“是否可以按成员调试结构/类初始化成员?”。
所以,在前面,我没有直接回答这个问题,因为当我仔细阅读你的帖子的正文时,听起来基本问题是如何在这个 InvalidCastException 发生时确定它的“吸烟线”根本原因。
我在类似情况下发现,如果在 InvalidCastException 发生的那一刻可以使 Visual Studio 中断,即在该特定行上,那么调用堆栈和局部变量将更加直接和有用。
不幸的是,许多异常类型的 Visual Studio 默认设置禁止了“抛出时中断”。但是很容易为所有异常打开“抛出时中断”。只需在 Visual Studio 的“异常”窗口中更改此默认设置:
对此:
这并不“总是”有帮助,但这是一个好的开始。如此简单,何不先尝试一下,看看是否有可能快速解决。希望这对您的情况有用。
| 归档时间: |
|
| 查看次数: |
236 次 |
| 最近记录: |