Art*_*eev 5 c++ debugging gcc lldb
有人知道,为什么 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++,而 GCC 使用libstdc++.
有人知道如何解决这个问题并使漂亮的打印机适用于 LLDB 中的 GNU GCC 编译程序吗?
| 归档时间: |
|
| 查看次数: |
661 次 |
| 最近记录: |