龙空技术网

CLion新版正式发布:使用核心转储进行调试、支持Qt等

不如温暖过生活 1584

前言:

现在各位老铁们对“clion 20202”都比较珍视,姐妹们都想要了解一些“clion 20202”的相关知识。那么小编同时在网上收集了一些对于“clion 20202””的相关文章,希望小伙伴们能喜欢,各位老铁们快快来了解一下吧!

该版本侧重于调试经验和单元测试集成的灵活性。嵌入式开发人员将获得对MISRA检查的第一批支持。CLion 2020.3还引入了专门针对使用Qt代码进行调整的各种IDE功能。

下载CLION 2020.3

这里是主要亮点的快速概述。如果您对具体细节感兴趣,请继续阅读:

增强调试体验使用核心转储进行调试使用root / administrator特权运行和调试将执行点设置为任意行互动提示和嵌入式手表调试器演示对运行/调试配置的一些其他改进单元测试:新的CTest和Google Test增强功能MISRA C 2012和MISRA C ++ 2008代码分析,完成和重构项目模型:启用/禁用CMake配置文件更好的Makefile项目经验更好的Qt项目经验演示:Build / Run的更新和Qt项目的增强VCS和远程模式的增强功能,以及Code With Me和Rust插件的一些新闻更新。

更深刻的调试经验

调试经验是集成环境最强大的优势之一。CLion通过添加断点选项,快捷键绑定的步进功能,监视和评估,内联变量视图,反汇编和内存视图来增强调试过程。所有这些都适用于本地和远程工具链,以及微控制器。CLion 2020.3通过新功能帮助您像专业人士一样调试,以打开和检查崩溃进程的核心转储,使用root特权启动应用程序以及在调试时通过程序来回移动执行点。我们将简要讨论这些新改进,然后在Phil Nash的视频演示中观看它们的实际应用。

使用核心转储进行调试

如果进程崩溃,并且您设法收集了故障转储,则使用新的“运行” 适用于Linux和macOS的Open Core Dump…操作可让您在CLion中打开此转储并对其进行调试。您可以选择一个新的核心转储,也可以从以前在CLion中打开的那些转储中打开一个。对于新的操作,该操作将自动为您创建一个新的Core Dump Debug运行配置并启动它(您也可以手动创建或更新此配置):

如果二进制文件是使用调试信息构建的,那么在简单的情况下,您可能不需要进行太多配置。否则,符号文件对于将CLion指向调试符号可能很有用。这些将帮助CLion正确识别程序符号并导航到正确的源代码位置。但是,目前,符号文件仅适用于GDB。

启动核心转储调试后,您可以检查框架和变量值,检查内存和反汇编视图,评估表达式以及从调试器控制台运行调试器命令:

使用root / administrator特权运行和调试

新的“Run with Administrator privileges/Run with root privileges”设置可用于运行和调试CMake,Makefile,Gradle Native,Custom Build和所有受支持的单元测试应用程序的配置。这适用于所有平台和所有工具链(包括WSL和远程模式)。

为了节省您的时间,CLion提供了新的海拔服务,可以将授权保留配置的时间。这意味着,例如,如果要调查应用程序中需要重新启动调试器的问题,则不必反复确认root用户访问权限。

将执行点设置为任意行

如果要在调试会话期间更改条件分支并检查其他执行路径怎么办?又或者您想完全跳过一些代码,还是跳回去?使用新的“Set Execution Point to Cursor”操作,您可以在调试时在程序执行过程中来回移动。只需将黄色箭头拖放到编辑器中:

功能确实就是这么简单。但是,它极大地增强了您的调试体验。

互动提示,嵌入式监控等

内联变量视图已经在CLion调试器中使用了很长时间。这些视图在调试会话期间直接在编辑器中显示变量值。但是,对于复杂的结构或类对象,渲染器可能不是特别有用。使用CLion 2020.3,您现在可以展开它以查看属于给定变量的所有字段。我们称它们为interactive hints!

有时您可能想在编辑器中而不是在“Watches”面板中遵循复杂的表达式。这通常是因为表达式仅在特定的代码位置才有意义(例如,它使用仅在作用域中可用的局部变量)。它甚至可能在任何其他情况下或在任何其他时间失效。在这种情况下,您现在拥有Add as Inline Watch,这将使表达式在编辑器中准确显示在添加位置。

最后,我们添加了在“远程GDB服务器”配置中选择任何自定义GDB二进制文件的选项。

调试器演示

观看Phil Nash的简短演示,了解所有这些功能的实际应用:

运行/调试配置的其他一些改进

除了能够以root / administrator特权启动运行/调试配置之外,您现在还可以将CLion指向配置环境的脚本。此脚本优先于“环境变量”对话框中提供的变量值,并且在所有“启动前”步骤完成后,每次启动相应的配置时都会运行该脚本。

对于嵌入式开发人员,OpenOCD运行配置现在可以与“定制构建应用程序”目标一起使用。

最后,现在可以在项目索引运行时编辑所有运行/调试配置!

单元测试:新的CTest和Google Test增强功能

CTest是作为CMake的一部分发布的测试工具,用于自动进行单元测试,现在CLion支持CTest。这意味着IDE会检测到使用CTest运行的测试列表,并自动为它们创建运行/调试配置。沟槽图标出现在CMake文件中,所以你可以从那里点击并启动测试。当测试启动时,结果会在内置的测试运行器中显示出来,从那里你可以调试测试,重新运行所有或只运行失败的测试,以及更多。

需要注意的是,CLion 依赖于与所选 cmake 可执行文件位于同一文件夹的 ctest 可执行文件,目前还没有办法使用任意的 ctest 可执行文件。目前最小支持的 CTest 版本是 3.14。

对于Google Test,除了解决了一些性能问题外,我们还增强了集成并更新了测试树的表示形式:

完整的测试树将立即显示在内置测试运行器中,然后执行测试。对于参数化测试,CLion现在在测试树中立即显示测试参数。现在,禁用的测试(DISABLED名称中带有前缀的测试)也将显示在测试树中,并带有代表其状态的图标。测试扫描仪已经进行了一些性能优化。

单元测试演示

在此演示中,Phil展示了CTest和GT的一些改进:

MISRA C 2012和MISRA C ++ 2008

MISRA准则被广泛用于嵌入式开发,尤其是在汽车行业。公司通常会获得认证,以证明自己遵守这些规则。CLion不会代替您的认证步骤,但是从v2020.3开始,它可以帮助您在开发周期的早期发现不兼容的地方。为实现此目的,我们已开始向CLion添加MISRA C 2012和MISRA C ++ 2008检查。

我们计划明年增加更多的支票,甚至可能要看一下AUTOSAR规则。

有关代码分析,完成和重构的更多信息

我们一直在努力使CLion中的代码分析和重构更加准确和灵活。除了MISRA支持之外,在此版本中,还引入了以下重要更改:

CLion 与 Clang-Tidy 捆绑在一起,你可以在 Settings/Preferences | Languages & Frameworks | C/C++ | Clang-Tidy 中查看捆绑的版本。现在还有一个通知,当 Clang-Tidy 已经更新到较新的版本时,会告诉你,让你知道什么时候你可能需要更新配置文件。看看它是如何工作的。如果你需要从函数中提取一些逻辑,将其作为lambda传递(例如,传递给排序函数的比较),并自动更新所有用法,现在你可以使用CLion中新的Extract Lambda Parameter重构。观看这个简短的演示来了解更多的信息。当你在CLion 2020.3中完成C++关键字时,可以使用Clang片段,这些片段不仅对关键字有帮助,而且对占位符和整个表达式的语法也有帮助。

项目模型

我们将继续改善CLion对以下项目模型的支持:CMake,Makefile,Native Gradle和编译数据库。目前,我们的首要任务是确保这些项目模型能够顺利运行并在每种情况下提供平等的体验,而不是添加新的选项。

启用/禁用CMake配置文件

对于需要使用不同的构建类型,使用不同的工具链或在本地和远程环境中构建应用程序的情况,CMake配置文件非常有用。但是,通常您已经配置的某些配置文件会在一段时间内不使用(例如,当远程计算机不可用时),并且您只能使用一些选定的配置文件。现在可以在CLion中禁用配置文件,以避免不必要地加载它们。当您需要这些配置时,只需启用它们:

该设置可在CMake工具窗口或“Settings/Preferences | Build, Execution, Deployment | CMake ”。

更好的Makefile项目经验

我们很高兴看到CLion中的Makefile项目用户数量有所增长,我们非常感谢大家与我们的团队分享他们的反馈!这有助于我们进一步改善对Makefile的支持,并且在v2020.3中提供了以下增强功能:

使用不同的包装一样的Makefile项目的ccache,libtool的,傻瓜,slibtool和jlibtool现在可以成功加载在克利翁。此类工具make通过隐藏编译标志并干扰输出,使CLion的命令输出解析更加困难make。我们现在解决了这个问题!请查看本文,以了解仍会影响如何在CLion中加载Makefile项目的其他限制。现在,在CLion中开始使用Makefile项目更加容易,因为在加载项目时会自动为顶层Makefile中的目标创建运行/调试配置。要运行和调试,现在只需要将配置指向构建的可执行文件即可:

最后,重新编译操作(在Windows / Linux上为Ctrl + Shift + F9,在macOS上为⇧⌘F9)现在可用于Makefile项目。

更好的Qt项目经验

由于我们经常收到有关将CLion与Qt代码一起使用的反馈,因此我们决定是时候为我们的用户改善Qt体验了。在v2020.3中,我们使在CLion中启动新的Qt项目和创建新的Qt类变得更加容易:

新建项目对话框建议使用Qt Console Executable和Qt Widgets Executable项目类型。指定一些设置,并从CLion中预定义的模板中为你生成基本项目。

现在,您可能想向项目中添加一些新的Qt文件。新建菜单中的新QT UI类项(在Windows / Linux中为Alt + Insert,在macOS中为⌘N)可帮助您同时创建Qt类和.ui文件。可以在“Settings/Preferences | Editor | File and Code Templates”中配置用于生成这些文件的初始内容的模板(Qt类,Qt类头和Qt设计器表单)。

在CLion中编辑Qt代码时,您将受益于一些编码帮助方面的改进:

自动导入将提示导入的Qt样式:

代码完成将在适当的地方建议插槽和信号,并过滤掉所有其他选项:

以及更多!

在CLion 2020.3的众多改进中,我们还要强调一些其他功能:

现在,Linux上支持IAR构建工具(以前,您只能在Windows上使用IAR编译器)。在远程模式下:WSL支持现在与openSUSE-Leap-15-2一起使用。远程工具链的排除路径现在可以自动更新标记为排除的目录。CLion包含来自IntelliJ平台的许多版本控制支持增强功能,例如Search Everywhere中的Git选项卡,Git暂存支持等等。另一个重要主题是UI的改进,例如更新的“Welocme”界面,它使访问先前打开的项目变得更快,更轻松,使IDE主题与操作系统设置同步的选项以及通过拖放选项卡拆分编辑器的能力。

最后我们有几个关于一些有价值的插件的简短公告。首先是Code With Me(EAP),这是JetBrains为协作开发和配对编程提供的新服务。Code With Me可以让你与其他人分享你当前在IDE中打开的项目,并实时一起工作。你今天就可以从插件市场(偏好/设置|插件|市场)下载它。但值得注意的是,这个插件仍处于预览阶段。查看这些帖子,了解更多关于Code With Me的信息。

这里还要提到Rust插件的一些更新。最重要的更新是一个新的UI和更多的Cargo功能的代码洞察。另外,该插件现在支持WASM项目,并且可以将Rustfmt设置为默认的formatter。除此之外,还有一个新的实验性引擎用于解析名称。我们会在不久后单独发布一篇关于IntelliJ Rust更新的文章。

今天的内容你学会了吗?记得关注我&点击下方“了解更多”获取一手开发资讯!

标签: #clion 20202