在Yocto上调试符号

时间:2018-02-27 10:21:55

标签: c++ gdb yocto

我试图在目标平台上使用gdb调试c ++代码,该平台与使用Yocto创建的操作系统一起运行,并将结果与​​我的笔记本电脑进行比较。 所有包都有默认的编译标志(没有O3左右)

设置

  • Yocto 2.2
  • 目标:rpi3-64
  • gdb 7.11.1
  • 我的c ++包中的CMake Flags:EXTRA_OECMAKE = " -DCMAKE_BUILD_TYPE=Debug"
  • 在local.conf中调用Yocto标志:

    INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
    INHIBIT_PACKAGE_STRIP = "1"
    DEBUG_BUILD = "1"
    EXTRA_IMAGE_FEATURES_append = " dbg-pkgs"
    

启动gdb时加载调试符号。

在我的笔记本电脑上,使用info locals,我可以看到变量及其值。在我的目标平台上,我有时会得到值,但也有符号:

_M_impl
_M_key_compare
_M_string_length 

有时是其他类型的输出:

rotation_ = {<Eigen::RotationBase<Eigen::Rotation2D<double>, 2>> = {<No data fields>}

是否还需要在Yocto上进行其他调试才能启用调试?

编辑:我尝试了一个最小的C ++示例,似乎std库没有调试符号。

0 个答案:

没有答案