小编Art*_*eev的帖子

为什么 lldb 漂亮打印机不适用于 MacOS 上的 GNU GCC 编译程序?

有人知道,为什么 lldb 漂亮的打印机不能用于 MacOS 上的 GNU GCC 编译程序吗?

我有一个简单的 C++ 程序,我使用 GCC 10.2(来自 Homebrew)编译该程序,内容如下CXX_FLAGS--std=c++17 -g -O0

#include <vector>

int main() {
    std::vector<int> v = {1, 2, 3};
    std::cout << v[0];
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

当我尝试检查变量时v,我得到以下结果:

(vector<int, allocator<int> >) $0 = {
  _Vector_base<int, allocator<int> > = {
    _M_impl = {
      _Vector_base<int, allocator<int> >::_Vector_impl_data = {
        _M_start = 0x00000001005062a0
        _M_finish = 0x00000001005062ac
        _M_end_of_storage = 0x00000001005062ac
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

之前没有std::前缀vector,因此没有为该类型添加漂亮的打印机(默认情况下它处理"^(std::__1::)vector<.+>$")。AFAIU,默认情况下,LLDB 中的漂亮打印机启用libc++ …

c++ debugging gcc lldb

5
推荐指数
1
解决办法
661
查看次数

标签 统计

c++ ×1

debugging ×1

gcc ×1

lldb ×1