CLion是一款专为开发C及C++所设计的跨平台IDE。它是以IntelliJ为基础设计的,包含了许多智能功能来提高开发人员的生产力。这种强大的IDE帮助开发人员在Linux、OS X和Windows上来开发C/C++,同时它还使用智能编辑器来提高代码质量、自动代码重构并且深度整合CMake编译系统,从而提高开发人员的工作效率。感兴趣的朋友欢迎下载试用!
CLion具有强大的调试器集成功能,使您可以通过统一的UI访问后端调试器,例如GDB和LLDB。IDE的内置变量视图,各种步进和断点选项,表达式求值以及内存和汇编程序视图可帮助您有效地进行调试。
在CLion 2020.3 EAP中,添加了一个强大的新选项来控制调试期间的执行流程-设置执行点。
如果您曾经在Visual Studio中使用过Set Next语句,或者在IntelliJ IDEA中使用过Jump to Line,则可能会意识到此功能。简而言之,它允许您在调试期间将执行移至编辑器中的任意代码行。
设置执行点
要在调试时四处移动代码,以前可以使用以下操作:
- Step Over (F8) and Step Out (Shift+F8)
- Step Into (F7) and Smart Step Into (Shift+F7)
- Run to Cursor (Alt+F9)
- Force Step Into, Force Run to Cursor, and Force Step Over
现在,我们添加了一个新操作– 将执行点设置为Cursor。在启动调试会话后,它变为可用,并且它允许您跳至特定的行并在此处设置执行点,而在此之间跳过所有其他命令。
该操作尚无默认快捷方式,但是您可以在键盘映射设置中分配它。或者,您可以简单地从装订线中拖放橙色箭头,将执行点插入所需的行。突出显示将帮助您在拖动箭头时选择所需的正确执行行:
请注意,您可以向前或向后移动箭头!
中断控制流程
当执行图是线性的时,来回移动很容易。但是,如果控制流程图更复杂怎么办?使用“Set Execution Point”操作,您可以:
- 中断循环或重新启动它们。
- 完全跳过循环,包括无限循环(在这种情况下,将不执行循环体中的代码)。
- 在if-else子句或switch-case语句中选择另一个分支。
例如,如果要在调试会话期间检查另一个分支而不重新启动整个会话,这可能会很有用:
但是请注意,移动执行点时,可能会对程序执行产生负面影响:
- 如果您跳过了初始化变量的行,则会从堆栈/寄存器中获取值(可能不是您期望的值)。
- 如果可执行代码是由编译器优化的,则可能会得到不可预测的结果,或者根本无法移动执行点。
- 如果您跳转到当前控制流程图中未调用的另一个函数,则IDE将警告您执行可能已中断(适用于LLDB,现在正在开发中的GDB)。
- 也有像“multiple candidates exist”错误的已知问题(CPP-21800)和有问题的std::cin和std::cout(CPP-22055)。
这个功能是不是很酷?前往慧都网免费下载最新版尝试一下,在评论分享你的想法。现双节来临之际慧都推出重磅限时优惠! 最高立减2999!低至797元!想要购买Clion正版授权的朋友欢迎咨询慧都官方客服。