如何调试 CMakeLists.txt 文件?

2024-02-15

我该如何调试CMakeLists.txt文件(至少做诸如列出变量之类的事情),而不仅仅是使用the message() command https://cmake.org/cmake/help/latest/command/message.html?


在最初撰写此答案时,CMake 没有交互式调试器,但可以使用标志-Wdev, --debug-output and --trace获取更多信息并检查日志文件CMakeFiles\CMakeOutput.log and CMakeFiles\CMakeError.log主要收集 CMake 调用的进程的输出(例如,在检查类型或标头是否存在时)。

从3.7版本开始 https://blog.kitware.com/cmake-e-server-improves-visual-studio-and-qt-creator-ides/,CMake 现在正式支持“服务器模式”,因此 IDE 中的集成可能会在不久的将来得到改进。初步支持存在于Qt创建者 https://blog.qt.io/blog/2016/11/15/cmake-support-in-qt-creator-and-elsewhere/ and Visual Studio 2017 RC https://blogs.msdn.microsoft.com/vcblog/2016/11/16/cmake-support-in-visual-studio-the-visual-studio-2017-rc-update/

从3.27版本开始 https://cmake.org/cmake/help/latest/manual/cmake.1.html#cmdoption-cmake-debugger,CMake还支持调试适配器协议 https://microsoft.github.io/debug-adapter-protocol/以及一些 IDE 供应商(例如CLion https://blog.jetbrains.com/clion/2022/10/clion-2022-3-eap-cmake-debugger/ or 视觉工作室 https://devblogs.microsoft.com/cppblog/cmake-debugger-allows-you-to-debug-your-cmake-scripts-and-more/)现在支持或已经宣布支持 CMake 调试。具体如何工作取决于具体的 IDE。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何调试 CMakeLists.txt 文件? 的相关文章

随机推荐

  • Linus 演讲 - Git 与数据损坏? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 为什么 Android 通知 Intent 中不发送额外数据(整数)?

    以下代码显示通知并发送 int 数据 但在其他活动中getExtras 回报null Why int notificationID 1 NotificationManager nm NotificationManager getSystem
  • CoreBluetooth 从不在 iPhone 5S 上调用 didDiscoverServices

    大多数时候 我们正在编写的应用程序与我们的 BLE 外设配合得很好 通常 对于 iPhone 5S 用户来说 设备会陷入恐慌 每当我们扫描服务时 didDiscoverServices 永远不会调用委托方法 重新启动设备或删除所有设置 常规
  • 自定义 IPython 笔记本/Jupyter 幻灯片放映

    我使用 IPython Notebook Jupyter 的幻灯片功能创建了一个幻灯片 效果很好 我通过以下方式创建并托管了幻灯片ipython nbconvert 这也很好用 但我找不到任何如何自定义幻灯片的信息 显然我必须定制Revea
  • 如何在 flutter/dart 中进行 SSL 公钥固定?

    这里对 Flutter 以及一般编程 来说相对较新 只熟悉更基本的东西 但我现在遇到了在 flutter dart 中使用 CertificatePinner 的需要 https square github io okhttp 3 x ok
  • t-sql子串

    我基本上有一列需要进行子串化 该列的格式如下所示 Column A Root FOLDERPATH somesubfolderpath somedocument doc 第一个字符串 Root 将始终具有相同的长度和相同的字符 Root 之
  • ORB 计算错误:它删除了小图像的所有关键点

    我有一个 50x50 的小图像 我找到 ORB 关键点 请注意 我必须将 patchSize 的默认参数从 31 更改为 14 才能检测到一些关键点 OrbFeatureDetector det 500 1 2f 8 14 0 2 0 14
  • 会话在 IHttpModule 中不可用

    在我的程序中 我尝试在 IHttpModule 中使用会话变量 这是我的代码 这在 VS 2010 开发服务器中运行良好 但是当我尝试在 IIS7 中调试时 它显示异常System Web HttpException Session sta
  • 打开工作簿时关闭 Excel 后台错误检查

    我有一个 Excel 工作簿 里面有很多绿色的 错误检查 三角形 有什么方法可以使用 Excel VBA 在打开工作簿时关闭此功能 我认为这就是您正在寻找的 Application ErrorCheckingOptions Backgrou
  • Mongodb 聚合框架解释

    MongoDB 中的聚合框架有解释函数吗 我在文档中看不到它 如果没有 是否有其他方法可以检查查询在聚合框架内的执行情况 我知道你只是做 db collection find explain 但是使用聚合框架时出现错误 db collect
  • 使用 OraOLEDB 提供商部署应用程序

    我开发了一个使用Delphi 7 ADO和ORACLE的应用程序 我使用的提供程序是OraOLEDB 我需要使用这个提供程序 因为BLOB字段支持 现在我想与提供商一起分发此应用程序 我在网上搜索下载甲骨文提供商 http www orac
  • 使用 LLVM pass 添加内在函数

    我使用 LLVM 通道向输入代码添加了一个内在函数 我能够看到内部调用 但我无法弄清楚如何将代码编译到我的目标架构 x86 64 我正在运行以下命令 clang llvm config ldflags libs all ff s o foo
  • GNU 编译器优化

    我对编译器了解不多 但知道它们足够复杂和智能 可以优化您的代码 假设我的代码如下所示 string foo bar for int i 0 i lt foo length i some code that does not modify t
  • 从 Rails 应用程序(Word、PDF、Excel 等)搜索附件

    我在 Stack Overflow 上发表的第一篇文章 请温柔一点 我即将为客户启动一个新的 Ruby on Rails 3 1 项目 他们的要求之一是有一个搜索引擎 该引擎将索引大约 2 000 个文档 这些文档是 PDF Word Ex
  • 让 TortoiseSVN 将文件的修改时间设置为最新修订的时间戳

    我似乎记得能够得到乌龟SVN http en wikipedia org wiki TortoiseSVN在执行更新时将文件的上次修改时间戳设置为修订版的时间戳 因此 如果有人五天前提交了一个文件并且我更新了它 则修改后的时间戳将是五天前
  • 如何在没有密码的情况下使用paramiko连接到远程服务器?

    我正在用 Python 编写一个脚本 需要连接到remote server使用 SSH 并移动file from remote server to host server 我需要在没有密码的情况下执行此操作 因为它需要适用于任何远程服务器和
  • Varnish:清除说它有效,但不会删除旧内容

    我正在 Digital Ocean Ubuntu VM 上运行一个独立的 varnish 实例 它基本上工作正常 该设置用于承担位于其他地方的旧 WordPress 服务器的负载 这很有效 但我很难清除内容 当谈论清除时 我的意思是使 UR
  • 使用 SWIG,如何将 C++ void func(Class& out) 包装为 C# Class func()?

    不幸的是 SWIG 的文档非常难以解析 而且在线示例似乎很少 所以我来到这里 假设 C 函数对类类型使用以下典型返回样式 void func Class out 使用 SWIG 这个函数应该像这样用 C 包装 Class func 根据我的
  • 是否有使用 C# + ASP.NET 实现国际化的基本教程? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何调试 CMakeLists.txt 文件?

    我该如何调试CMakeLists txt文件 至少做诸如列出变量之类的事情 而不仅仅是使用the message command https cmake org cmake help latest command message html