问题标签 [c++filt]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 寻求STL-aware c++filt
在我的开发环境中,我正在使用 GNU C++ 3.4.6 编译代码库。代码正在开发中,不幸的是有时会崩溃。很高兴能够通过 demangler 运行回溯,我使用 c++filt 3.4。当函数有许多 STL 参数时,问题就出现了。考虑
当这个函数在回溯中时,我平台上的错误输出是:
c++filt 好心地将其解码为
这与使用模板时遇到的编译器错误相同。但是,STL 是一个相当常规且可识别的模板包。所以我希望有人已经创建了 c++filt 的增强版本,它将转储一些更接近原始函数签名的东西。有什么提示吗?
macos - 在 Mac 10.5 上拆解 C++ 名称
我在我的应用程序的各个点打印出堆栈跟踪以调试问题,除了我的 c++ 函数的符号名称仍然被破坏之外,它工作正常。在 linux 上,我使用 c++filt 将它们转换为更易读的东西……在 mac 上……它不起作用?!?!
即使手册页中提供的示例也不起作用。是什么赋予了?
c++ - 如何使用 c++filt
可能重复:
我可以解开 GCC 的 RTTI 名称吗?
我已经开始在 gcc 中使用 code::blocks (只是再也无法忍受 VS2010),虽然我总体上很满意,但在 gcc 中绝对做得不好的一件事是,当我想使用 typeid 时,我我得到的不是确切的类型名称,而是一些符号表示法(为什么?为什么他们不能使用类型名称?)无论如何,我听说 c++filt 可以帮助解决这类问题,但我现在不知道如何使用它(或安装它 - 我必须下载它吗?)。
c++ - 可以使用 c++filt 将 .s 文件本身中的解构名称写回吗?
我只是想学习 c++filt,网络上没有足够的示例用法......
我正在编写一个 main.cpp 文件并尝试读取机器代码....
如果我需要找出一个 demangled 值,我可以使用
例如)
给我价值 goo(int i)// 这是签名,
有没有一种方法可以将当前的 main.s 文件替换为 demangled 值,例如,_Z3gooi
将在文件本身中将 demangled 为 goo(int i),而不是 console.... ????
c++ - 如何使 c++filt 适用于所有 C++ 名称?
当我尝试对标准 C++ 库中的某些名称进行分解时,例如:
然后它适用于许多名称。但是,有些名称不能像以下那样被拆解:
c++filt 似乎没有成功。为什么最后两个名称没有正确解组以及如何解组它们?
c - linux sparc so库中的名称修改
我有一些 sparc 库,我想拥有带有实名的导出函数列表。使用 objdump 或 nm 我得到类似__1cEnameIcopyType6MpnIASN1CTXT_rnLAsn1TObject_4_v_
或__1cHsurname2t5B6M_v_
这样的名称,以便 c++filt 无法对它们进行分解。我已经尝试过我的 nm 所拥有的每一种风格——gnu、lucid、arm、hp、edg、gnu-v3、java、gnat——结果是一样的。请你帮助我好吗?
c++ - c++filt 不会对 typeid 名称进行分解
我在 GCC C++编译器上运行代码,以输出 type_info::name:
但我得到以下结果:
并在拆解时,
我得到与之前相同的输出。还有其他解决方案吗?
bash - c++filt命令分析awk的输出
今天是个好日子!我有一个包含内联 c++ 函数列表的文件。我想对它们进行 c++ 过滤。但并不是列表中的所有功能对我来说都很有趣,所以我使用 awk sript 来获取必要的功能。
那么,问题来了,如何在终端中结合“c++filt”和“awk”命令来分析“c++filt”命令输出的awk脚本?感谢每一个答案
c++ - 在 C++ 中,三重 &&& 代表什么?
我知道在类型名之后,单&
表示左值引用,双&&
表示右值引用或“推导引用”,斯科特迈耶斯也将其称为通用引用。但我从未&&&
在函数或方法签名中看到过三元组。它代表什么?
下面的代码产生一个带有三元组的方法&&&
:
用 编译代码后g++-4.8.1
,我运行nm -j a.out | c++filt
. 该-j
开关(我相信)是非标准的,这意味着只显示符号名称(无值或类型)。我明白了:
当我使用clang++
. 所以我的问题是,三和符号代表什么?显然我不能&&&
直接写我的代码。是因为我c++filt
的符号分解不正确吗?我正在使用c++filt
Mac OS X 10.8 上提供的系统。
mingw - 为什么 mingw bin 目录中的 c++fit 无法返回预期结果?
为什么 mingw bin 的目录中的 c++fit 不能返回正确的结果?
但在 CentOS 系统中,c++filt 可以返回正确的结果。
怎么理解?