运行和调试

配置

对于项目(CMake、Makefile 和 Gradle 项目)中的每个目标,CLion 会创建可以构建和运行的配置,允许您配置外部工具,从而在单独的 UI 对话框中在构建阶段前/后运行。

配置

配置模板

使用配置模板为单元测试、远程调试或常规应用程序运行创建配置。

运行配置

您可以根据自己需要更改任意配置的可 执行文件,甚至可以通过将该值改为 Not selected 使配置 无法运行。

按下 Ctrl+F9 生成您的项目,然后用 Shift+F10 运行当前选定的配置。

调试配置

按下 Shift+F9 开始调试。

为帮您在调试期间检查代码状态,CLion 提供了许多实用的快捷键,比如 Step over/into (F8/F7)、Step out (Shift+F8) 和 Run to cursor (Alt+F9)。

自定义生成和运行

custom_target

生成与系统无关的生成目标使您可以增加自定义目标和配置任何用于生成/清理目标的工具。

通过使用自定义生成应用程序模板创建相应的运行/调试配置,以便从 CLion 运行和调试自定义目标。

重新编译单个文件

要加快您在 CLion 中的开发周期,在使用 CMake 或兼容数据库项目时,请使用 Recompile (Shift+Ctrl+F9)。 它可以返回选定文件的编译,而不会触发整个项目的重新编译。

调试/版本建构类型

使用 CMake 时,在工具栏中的运行配置切换器中或者在 Run (Shift+Alt+F10)/Debug (Shift+Alt+F9) 配置切换器弹出窗口中切换不同的 CMake 配置文件(和建构类型)。

输入/输出

CLion 使用 PTY 作为 I/O 单元,这就是说其行为方式与在终端中、甚至 是在 Windows 上运行项目类似。

调试

CLion 在所有平台上都集成了 GDB 后端,在 macOS 和 Linux 上集成了 LLDB。

附加到进程

附加到进程

通过使用进程的 pid 或名称附加到它们上面,CLion 可以让您调试进程,在同一台或远程机器上运行,但无法从 IDE 开始。 受益于 CLion 的内置调试器 UI。

断点

CLion 提供集成调试器,能够帮您检查代码的执行情况。 您可以 在 CLion 中选择不同类型的断点(所有断点都可以在单独的对话 框中审 查(Ctrl+Shift+F8)):

断点
  • 行断点是最简单的代码调试方式。 只要在一行左侧的装订区域中点击,使用鼠标设置断点即可。
  • 符号断点可以在特定函数开始执行时,帮您停止程序的运行。 通过符号名称找到符号,利用代码补全,前往响应的函数位置。
  • 异常断点可以帮助轻松找到出现的任何异常。
设置执行点

设置执行点

通过 Set Execution Point to Cursor 操作,您可以在调试时在程序的执行中来回移动,中断循环或重启它们,以及在 if-else 子句或 switch-case 语句中选择另一个分支,甚至完全跳过循环。 很简单,只需将装订区域中的箭头拖放到感兴趣的行上。

监视和评估

所有可用变量的描述,包括 STL 容器内容,都将列在 Debug tool 窗口中 的 Variable 标签页中。 您可以在那里观察甚至是更改任何值,不会打断当前的 调试会话。

计算表达式

您可以在 GDB/LLDB 标签页中使用 GDB/LLDB 控制台,Frame 和 Watches 视图可以 更详细地调查任何问题。 值得一提的是,选择要监视的符号后您 还可以利用自动补全功能。

此外,在调试会话期间按下 Alt+F8 就可以评估任何 表达式。

内联变量视图

内联变量视图

通过该功能,您可以直接在编辑器中查看当前的变量值(就在 变量生命旁)。 无需切换到 Debug tool 窗口中的 Variables 标签页!

反汇编

反汇编视图

阅读汇编代码,它们会在编辑器中正确高亮显示,然后逐步执行来调查问题根源。

逐步执行汇编代码时,您现在可以在指令行上添加/移除断点。 对于这些地址断点的非默认配置,请使用右键上下文菜单。

支持 GDB 和 LLDB。

内存视图

内存视图

内存视图在调试模式下转储指针后面的内存。 调用时,在调试器的变量视图中选择一个指针变量并且按下 Ctrl+Enter

在单步调试过程中,如果打开了内存视图,CLion 将高亮显示选定内存块中的内存变化。

从内存视图导航到内存中的特定地址。 使用表示地址、指针变量的十六进制值,或调用您感兴趣的任何变量的地址 (&)。

代码补全将帮助您使用已知符号。

以 Root 权限调试

以 Root 权限调试

CLion 可以使用 root 权限运行和调试您的应用程序 - 只需要在相应的运行/调试配置中选择此选项。 这适用于 CMake、Makefile、Gradle Native、自定义构建和 CTest 应用程序。

使用核心转储调试

使用核心转储调试

Run | Open Core Dump… 操作允许您在 CLion 中打开崩溃进程的现有核心转储,并在其中进行调试。 用户可以从调试器控制台检查框架和变量视图,检查内存和反汇编视图,计算表达式以及运行调试器命令。

Parallel Stacks 视图

Parallel Stacks 视图

在调试多线程应用程序时,您必须同时跟踪多个线程。 Parallel Stacks(并行堆栈)视图已作为 Debug(调试)工具窗口中的单独标签页实现,可以显示所有线程的线程调用堆栈信息。 该视图可用于检查所有正在运行的线程的调用路径和执行点。

Windows 上的符号服务器

调试时,库符号有时在本地机器上不可用。 对于这种情况,您可以使用符号服务器,这种文件服务器将调试符号集中存储在服务器上,而不是存储在每个开发者的机器上。 在 Windows 版的 CLion 中,您可以在 Settings | Build, Execution, Deployment | Debugger | Symbol Servers(设置 | 构建、执行、部署 | 调试器 | 符号服务器)中为调试器配置符号服务器。

了解详情