当前位置: 首页 > article >正文

使用conan包 - 调试软件包

使用conan包 - 调试软件包

  • 主目录 conan Using packages
  • Debugging packages

本文是基于对conan官方文档Debugging packages的翻译而来, 更详细的信息可以去查阅conan官方文档。

This section shows how to setup your project and manage dependencies (i.e., install existing packages) with Conan.
本节将介绍如何使用 Conan 设置项目和管理依赖关系(即安装现有软件包)。

主目录 conan Using packages

  • Installing dependencies
    • Requires
    • Generators
    • Options
  • Using profiles
  • Workflows
    • Single configuration
    • Multi configuration
  • Debugging packages

Debugging packages

In order to run a debug session and step into the source code, the debugger needs to find the source files (or pdb files ones for Visual Studio), for Mac and Unix system the location of these files is stored inside the library itself.
为了运行调试会话并进入源代码,调试器需要找到源文件(或 Visual Studio 的 pdb 文件),对于 Mac 和 Unix 系统,这些文件的位置存储在库本身中。

Usually Conan packages don’t include these files and if they do, the path to the local cache might be different: in a typical scenario the packages are generated in a CI machine and the debug session will take place in the developers one, so the path to the sources won’t be the same.
通常 Conan 软件包不包含这些文件,如果包含,本地缓存的路径也可能不同:在典型情况下,软件包是在 CI 机器上生成的,而调试会话将在开发人员的机器上进行,因此源代码的路径不会相同。

The only rule of thumb is to compile the library we want to debug in the developer machine, and thanks to Conan this is straightforward:
唯一的经验法则是在开发者机器中编译我们要调试的库,多亏了 Conan,这一点非常简单:

conan install <reference> --build <name> --profile <debug_profile>

This command will trigger the build of the library locally in the developer’s machine, so the binaries will point to the sources where they are actually located and the debugger will find them.
该命令将在开发人员的机器上触发本地库的构建,因此二进制文件将指向它们实际所在的源代码,调试器也能找到它们。

Note
Keep updated as we are investigating more integrated solutions using hooks and for the major IDEs, Visual Studio and CLion.
我们正在研究更多使用hooks的integrated solutions,以及主要集成开发环境(Visual Studio 和 CLion)的集成解决方案,请随时更新。


http://www.kler.cn/a/147004.html

相关文章:

  • 能源革命持续发力,华普微隔离器助力储能行业“向绿向新”
  • 【计算机网络】水平触发与边缘触发有什么优缺点呢?
  • hadoop+wsl 10.255.255.254,BlockMissingException: Could not obtain block: 踩坑
  • 小程序-基于java+SpringBoot+Vue的驾校预约平台设计与实现
  • 微信小程序之路由跳转传数据及接收
  • 【Linux学习】【Ubuntu入门】1-4 ubuntu终端操作与shell命令1
  • 【Unity程序技巧】加入缓存池存储地图资源,节省资源,避免多次CG
  • 常用Web安全扫描工具合集
  • 关于mybatis插入返回主键id和SpringBoot事务注解自调用演示
  • nodejs+vue+elementui学生竞赛管理系统65o97
  • 基于CW32F030单片机的便携式多功能测试笔
  • [datastore@cyberfear.com].Elbie、[thekeyishere@cock.li].Elbie勒索病毒数据怎么处理|数据解密恢复
  • 【后端】数据字典自动生成枚举
  • Spring Boot 实现 PDF 水印,实战来了!
  • Android 11.0 Launcher3 去掉长按屏幕微件里面的设置和日历等微件
  • 05-学成在线课程分类查询
  • Arduino(NodeMcu)上传程序时出现“上传错误:exit status 2”
  • 07 服务间调用:openFeign上下文信息丢失
  • 【无头双向链表和链表练习题2】
  • 【AI】MMLab环境搭建
  • linux下的工具---vim
  • 深度学习之图像分类(十四)CAT: Cross Attention in Vision Transformer详解
  • 测试数据随机,给2n个点,求所有偏移量,使得每两个点成为一个匹配
  • Wireshark的捕获过滤器
  • Unity之NetCode多人网络游戏联机对战教程(10)--玩家动画同步
  • LabVIEW当鼠标悬停在图形曲线上时显示坐标