Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用visual studio在每个断点处保存状态_C#_Visual Studio_Debugging - Fatal编程技术网

C# 使用visual studio在每个断点处保存状态

C# 使用visual studio在每个断点处保存状态,c#,visual-studio,debugging,C#,Visual Studio,Debugging,首先,如果这个问题会导致愚蠢,我很抱歉。我是C#和VisualStudio的新手,在IntelliJ社区和Java中找不到我曾经使用过的功能 使用IntelliJ,当我为调试周期设置断点时,我可以看到每个断点处所有变量的所有值。在VisualStudio中,通过“局部变量”窗口,我只能看到最新断点处的值。有没有类似的功能 谢谢。在Visual Studio中打开项目后转到调试菜单窗口断点在Visual Studio中打开项目后转到调试菜单窗口断点我认为在Visual Studio中不可能这样做

首先,如果这个问题会导致愚蠢,我很抱歉。我是C#和VisualStudio的新手,在IntelliJ社区和Java中找不到我曾经使用过的功能

使用IntelliJ,当我为调试周期设置断点时,我可以看到每个断点处所有变量的所有值。在VisualStudio中,通过“局部变量”窗口,我只能看到最新断点处的值。有没有类似的功能


谢谢。

在Visual Studio中打开项目后转到调试菜单窗口断点在Visual Studio中打开项目后转到调试菜单窗口断点我认为在Visual Studio中不可能这样做演播室

但是,使用
输出
窗口,使用
跟踪点来“模拟”该功能应该不难:

右键单击断点->选择
Actions…
->然后选中
Actions
复选框并为输出窗口添加消息(如果清除
Continue Execution
复选框,您可以选择中断,或者让它像正常断点一样停止)

在消息中,可以在大括号内添加任何变量的名称。要获得与屏幕截图中相同的信息,可以使用以下方法:

it.polimi.bobema = [{it.polimi.bobema}]
现在调试您的应用程序,您应该可以在VisualStudio的
输出
窗口中看到这些数据

您可以在跟踪点消息中使用一些特殊变量,如
$ADDRESS
$CALLER
$CALLSTACK
$FUNCTION
,等等。您可以在

一些截图:

产生结果(在输出窗口中):


我认为在VisualStudio中这是不可能的

但是,使用
输出
窗口,使用
跟踪点来“模拟”该功能应该不难:

右键单击断点->选择
Actions…
->然后选中
Actions
复选框并为输出窗口添加消息(如果清除
Continue Execution
复选框,您可以选择中断,或者让它像正常断点一样停止)

在消息中,可以在大括号内添加任何变量的名称。要获得与屏幕截图中相同的信息,可以使用以下方法:

it.polimi.bobema = [{it.polimi.bobema}]
现在调试您的应用程序,您应该可以在VisualStudio的
输出
窗口中看到这些数据

您可以在跟踪点消息中使用一些特殊变量,如
$ADDRESS
$CALLER
$CALLSTACK
$FUNCTION
,等等。您可以在

一些截图:

产生结果(在输出窗口中):


命中一个断点代表一个时间点,我不确定我是否理解在其他断点中看到值的含义,但是当你命中一个断点时,你可以在“局部变量”窗口中看到当前线程的局部变量。您可以在“线程”窗口中切换线程,并使用“监视”窗口查看其他变量,如静态成员等。您缺少什么?@ZivS感谢您的回答。假设在for循环中添加一个断点。在IntelliJ中,我能够访问到达每个断点时所有变量的值。因此,我能够看到变量在循环的每次执行时是如何变化的。相反,在C#中,我只能在断点的最近一次执行时看到所有变量的值。听起来像是一个很好的东西:所有或所有参与变量的所有状态的历史快照。有点像快照断点,对吗?我怀疑我们在VS中有它;不确定加载项..@TaW是否正确。奇怪的是,Visual Studio中没有此功能。命中断点表示一个时间点,我不知道在其他断点中查看值意味着什么,但当命中断点时,可以在“局部变量”窗口中查看当前线程的局部变量。您可以在“线程”窗口中切换线程,并使用“监视”窗口查看其他变量,如静态成员等。您缺少什么?@ZivS感谢您的回答。假设在for循环中添加一个断点。在IntelliJ中,我能够访问到达每个断点时所有变量的值。因此,我能够看到变量在循环的每次执行时是如何变化的。相反,在C#中,我只能在断点的最近一次执行时看到所有变量的值。听起来像是一个很好的东西:所有或所有参与变量的所有状态的历史快照。有点像快照断点,对吗?我怀疑我们在VS中有它;不确定加载项..@TaW是否正确。奇怪的是,Visual Studio中没有此功能。谢谢你,这非常有用!你认为我也可以打印二维矩阵吗?你可以打印任何东西,不过这是为了临时简单的跟踪。如果您想打印更“复杂”的内容,我建议您使用
Debug.Write
Trace.Write
和/或条件调试方法谢谢,这非常有用!你认为我也可以打印二维矩阵吗?你可以打印任何东西,不过这是为了临时简单的跟踪。如果要打印更“复杂”的内容,我建议使用
Debug.Write
Trace.Write
和/或条件调试方法