gpt4 book ai didi

c++ - 求STL-aware c++filt

转载 作者:搜寻专家 更新时间:2023-10-31 00:05:37 24 4
gpt4 key购买 nike

在我的开发环境中,我正在使用 GNU C++ 3.4.6 编译代码库。代码正在开发中,不幸的是时不时会崩溃。很高兴能够通过 demangler 运行回溯,我使用 c++filt 3.4。当函数有许多 STL 参数时,问题就来了。考虑

My_callback::operator()(
Status&,
std::set<std::string> const&,
std::vector<My_parameter*> const&,
My_attribute_set const&,
std::vector<My_parameter_base*> const&,
std::vector<My_parameter> const&,
std::set<std::string> const&
)
{
// ...
}

当这个函数在回溯中时,我平台上的错误输出是:

(_ZN30My_callbackclER11StatusRKSt3setISsSt4lessISsESaISsEERKSt6vectorIP13My_parameterSaISB_EERK17My_attribute_setRKS9_IP18My_parameter_baseSaISK_EERKS9_ISA_SaISA_EES8_+0x76a) [0x13ffdaa]

c++filt 将其分解为

(My_callback::operator()(Status&, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::vector<My_parameter*, std::allocator<My_parameter*> > const&, My_attribute_set const&, std::vector<My_parameter_base*, std::allocator<My_parameter_base*> > const&, std::vector<My_parameter, std::allocator<My_parameter> > const&, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&)+0x76a) [0x13ffdaa]

这和使用模板时遇到的编译器错误是一样的问题。然而,STL 是一个相当规则和可识别的模板包。所以我希望有人已经创建了一个增强版本的 c++filt,它将转储更接近原始函数签名的内容。有什么提示吗?

最佳答案

STLFilt简化和/或重新格式化冗长的 C++ 错误和警告消息,重点是与 STL 相关的诊断。结果使许多甚至是最神秘的诊断变得易于理解。

关于c++ - 求STL-aware c++filt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1953574/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com