Caffe - Clion 调试 C++ 源码简单使用

37 篇文章 2 订阅
30 篇文章 5 订阅

Clion 调试 Caffe C++ 源码

环境:Ubuntu14.04,Caffe,Clion2017.2

1. Clion - Ubuntu 安装

  • 官网下载 Clion 的 .tar.gz 压缩包
    Clion-Linux

  • 解压压缩包到当前文件夹

    tar -zxvf Clion-2017.2.3.tar.gz
  • 运行安装脚本

    cd Clion-2017.2.3
    ./bin/clion.sh

    根据提示进行安装,创建快捷方式.

2. Clion 调试 Caffe C++ 源码

  • 编译 caffe-master

  • 用 Clion 打开编译后的 caffe-master

  • 配置参数:

    • 在右上角配置
      这里写图片描述

    • 参考设置:
      主要是 Executable, Program arguments 和 Working directory 的配置. Apply 应用配置.
      这里写图片描述

  • 设置断点

    根据情况,打开需要调试的代码文件,点击相应的代码行左边,设置断点(红色实心圆).

  • 开始调试
    点击 Clion 右上角配置旁的蜘蛛状绿色图标,开始调试.

    快捷键:
    F5 - 运行到断点
    F10 - 单步运行

2.1 查看数据

gdb print 命令可以显示被调试的语言中任何有效的表达式.

可以检查各个变量的值:

(gdb) print p (p为变量名)

对程序中函数的调用:

(gdb) print find_entry(1,0)

数据结构和其他复杂对象:

(gdb) print *table_start$8={e=reference=’\000’,location=0x0,next=0x0}

值的历史成分:

(gdb)print $1 ($1为历史记录变量,在以后可以直接引用 $1 的值)

whatis 命令可以显示某个变量的类型:

(gdb) whatis ptype = int *

3. 问题解决

3.1 调试出现提示cannot find -lopencv_dep_cudart

解决方案

  • 点击 CMake —— 左边的设置(绿色齿轮图标) —— 选CMake Settings:
    这里写图片描述

  • 在 Build, Execution, Deployment 设置下的 CMake 页面的 CMake options 处添加参数 -DCUDA_USE_STATIC_CUDA_RUNTIME=OFF,如下:
    这里写图片描述

  • 设置完成后,reload一下 cmake 项目,即可编译通过.

3.2 问题: undefined reference to `cv::applyColorMap(cv::_InputArray const&, cv::_OutputArray const&, int)’

解决方案:
修改 caffe_root/cmake/Dependencies.cmake,添加 contrib:

# ---[ OpenCV
if(USE_OPENCV)
  find_package(OpenCV QUIET COMPONENTS core highgui imgproc imgcodecs contrib)
  if(NOT OpenCV_FOUND) # if not OpenCV 3.x, then imgcodecs are not found
    find_package(OpenCV REQUIRED COMPONENTS core highgui imgproc)
  endif()

3.3 undefined reference to `H5LTget_dataset_ndims’

解决方案:
修改 caffe_root/cmake/Dependencies.cmake,添加

# ---[ HDF5
find_package(HDF5 COMPONENTS HL REQUIRED)
include_directories(SYSTEM ${HDF5_INCLUDE_DIRS} ${HDF5_HL_INCLUDE_DIR})
list(APPEND Caffe_LINKER_LIBS ${HDF5_LIBRARIES})
list(APPEND Caffe_LINKER_LIBS ${HDF5_HL_LIBRARIES}) #added

参考

[1] - clion下调试caffe出现提示cannot find -lopencv_dep_cudart

[2] - Linux下Caffe如何调试

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值