JetBrains Rider 2025.2 Help

检查挂起的程序

您可以通过分析帧来检查挂起应用程序的状态。

当代码在调试模式下运行时,有两种方式可以挂起它:

  • 在您想要检查的代码中 设置断点 ,并等待其中一个断点被触发。

  • 使用 Ctrl+D, P 中断程序执行。 调试器将在您暂停时完成当前正在执行的语句,然后停在下一个要执行的语句上。

在挂起状态下, 当前执行点 (即下一条将被执行的语句)会在编辑器左侧边栏中用黄色执行指针 执行指针 标记出来。 要快速找到当前执行点,请按 Alt+F10 或单击 显示执行点 显示执行点 调试窗口

什么是帧?

为了调用一个函数,CLR 会生成调用数据并将其放入调用栈中。 这块数据被称为 栈帧 (或简称为 ),包括函数位置、调用参数、局部变量等。

探索帧

在调试时,当前调用栈中的所有帧都会显示在 线程与变量 窗格的 调试窗口 中,您可以选择任意帧并查看其数据。

JetBrains Rider:调试帧窗格

当选择一个帧时,与该帧的方法调用相关的所有变量和参数都会显示在右侧,您可以进一步探索它们。

如果调用栈中包含来自库代码的帧,您可能希望隐藏这些帧,专注于源代码中的帧。 为此,请右键单击帧列表中的任意位置,然后选择 显示/隐藏库框架

调试窗口 打开时,您可以通过按 Ctrl+Alt+DownCtrl+Alt+Up 切换到下一个或上一个帧。

自定义帧的显示(固定到帧)

默认情况下,栈帧以被调用函数及其程序集的名称列出。

为了为帧的显示添加一些有意义的内容(例如区分递归调用函数的帧),您可以使用调用参数的值或函数上下文中可访问的任何对象。

  1. 调试窗口 中选择一个帧。

  2. 在变量视图中,找到您想在帧显示中使用的对象,单击其图标或右键单击并选择 置顶

  3. 固定的对象将移至列表顶部,其图标将被替换为旗帜图标 图标调试器已固定。 在下一次 之后,固定对象的值将用于形成其所属帧的字符串显示。 因此,请确保选择具有字符串兼容值的对象。

  4. 解决方案中的所有固定项都会被保存,并在重启后仍然可用。 您可以在 书签窗口的相应节点下查看所有这些固定项。

  5. 要停止在帧显示中使用某个对象,请在变量视图中单击其旗帜图标 图标调试器已固定 ,或右键单击并选择 取消固定 ,或者在书签窗口中找到该固定项并按 Delete

以下简短视频展示了如何将参数固定到递归调用函数的帧中:

最后修改日期: 2025年 9月 26日