gpt4 book ai didi

c# - 是否可以逐个调试结构/类初始化成员?

转载 作者:行者123 更新时间:2023-12-03 16:02:18 24 4
gpt4 key购买 nike

像这样初始化一个类:

var x = new Item()
{
ID = (int)...,
Name = (string)...,
..
};

我在其中一项任务中收到 InvalidCastException。它们有很多,即使我逐行运行调试器,整个表达式也会发生异常。异常没有给出任何线索,它试图将什么转换为什么。

有没有办法单独调试每个作业?我已经看到调试器在 foreach(x in y) 之类的表达式上分别停止了 3 次。所以它在这里没有这样做似乎有点奇怪,并且有损使用这种方便的初始化语法的吸引力。也许我可以使用更细粒度的调试步骤?

最佳答案

您的问题是“是否可以按成员调试结构/类初始化成员?”。

所以,在前面,我没有直接回答这个问题,因为当我仔细阅读你的帖子的正文时,听起来基本问题是如何在这个 InvalidCastException 发生时确定它的“吸烟线”根本原因。

我在类似情况下发现的是,如果可以在 InvalidCastException 发生的那一刻使 Visual Studio 中断,即在该特定行上,那么调用堆栈和局部变量将更加直接和有用。

不幸的是,许多异常类型的 Visual Studio 默认设置禁止了“抛出时中断”。但是很容易为所有异常打开“抛出时中断”。只需在 Visual Studio 的“异常”窗口中更改此默认设置:

Default Exception Settings

对此:

enter image description here

这并不“总是”有帮助,但这是一个好的开始。如此简单,何不先尝试一下,看看是否有可能快速解决。希望这对您的情况有用。

关于c# - 是否可以逐个调试结构/类初始化成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62050102/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com