在 Visual Studio 中对并行线程中的变量设置监视(C#、Visual Basic、C++)

在“并行监视”窗口中,可以同时显示一个表达式在多个线程上保存的值。 每行表示一个在应用程序中运行的线程,但线程可能以多行表示。 更具体地说,每行表示一个函数调用,其函数签名与当前堆栈帧上的函数匹配。 可以对列中的项进行排序、重新排序、删除和分组。 可以标记、取消标记、冻结(挂起)和解冻(恢复)线程。 下面的列将显示在“并行监视”窗口中

  • 标记列,可在其中标记要特别注意的线程。

  • 当前线程列,其中黄色箭头指示当前线程(带卷尾的绿色箭头表示非当前线程具有当前调试器上下文)。

  • 可显示计算机、进程、磁贴、任务和线程的可配置列。

    小窍门

    若要在 “并行监视 ”窗口中显示任务信息,必须先打开 “任务” 窗口。

  • 空白“添加监视”列,可在其中输入要监视的表达式。

    注释

    本文中的说明阐述了 Visual Studio 中可用的最新版本的交互式开发体验 (IDE)。 你的计算机可能会对某些用户界面元素显示不同的名称或位置。 你可能正在使用其他版本的 Visual Studio 或其他环境设置。 有关详细信息,请参阅个性化设置 IDE

显示“并行监视”窗口

  1. 在代码中设置断点。

  2. 在菜单栏上,选择 “调试”, “开始调试”。 等待应用程序到达断点。

  3. 在菜单栏上,选择 “调试”、“ Windows”、“ 并行监视”,然后选择一个监视窗口。 可以打开多达四个窗口。

添加监视表达式

  • 选择其中一个空白 添加监视 列,然后输入监视表达式。

标记或取消标记线程

  • 选择行(第一列)的标志列,或打开线程的快捷菜单,然后选择 “标志 ”或 “取消标记”。

仅显示已标记的线程

  • 选择“并行监视”窗口左上角的“仅显示标记”按钮。

切换到另一个线程

  • 双击当前线程列(第二列)。 (键盘:选择行并按 Enter。)

为列排序

  • 选择列标题。

对线程进行分组

  • 打开“并行监视”窗口的快捷菜单,选择 “分组依据”,然后选择相应的子菜单项。

冻结或解冻线程

  • 打开行的快捷菜单,然后选择 “冻结 ”或“ 解冻”。

在“并行监视”窗口中导出数据

  • 选择 “在 Excel 中打开 ”按钮,然后选择 “在 Excel 中打开 ”或 “导出到 CSV”。

按布尔表达式进行筛选

  • “按布尔表达式筛选 ”框中输入布尔表达式。 调试器计算每个线程上下文的表达式。 仅显示值为true的行。