我收到了一个相当长且令人困惑的链接错误,如果我可以将其粘贴到某个网站上的某个文本框中并为我恢复名称,我会很高兴。

有谁知道有这样的服务吗?

有帮助吗?

解决方案

我已经创建这样的在线serivice: http://demangler.com

这是一个gcc C ++符号demangler。你刚才复制堆栈跟踪,或纳米的输出到一个文本框,它将返回demangled名称的输出。

@Update:现在demangles MSVC和Java符号也。

其他提示

这可能是有点晚了,但我创建了一个基于这个问题。它与我想的投入,支持G ++和MSVC ++通过__cxa_demangle和__unDName,通过Emscripten编译为JavaScript。希望这可以帮助别人: C ++ filtjs

编辑:固定逸出问题

大部分(如果不是全部)C ++编译器来与c++filt工具,它不正是你显然是在寻找。

如果你想让它在鼠标点击...好为它编写一个GUI;)

有两种复制粘贴在线解决方案:

如果您只需要 GCC 和 Clang 的支持,您还可以选择使用 科利鲁, ,这可能是最通用的 在线C++编译器.

这并不像剪切、粘贴和单击那么简单 - 但也不是太难 - 而且看起来模板参数没有问题,如上所述。您只需要修改命令行即可运行如下内容:

cat main.cpp | c++filt -t

看看这个例子 这会分解:

_Z6kernelIfLj3EEvPT_5arrayIPKS0_XT0_EES5_S2_IjXT0_EES6_S0_

到:

void kernel<float, 3u>(float*, array<float const*, 3u>, array<float const*, 3u>, array<unsigned int, 3u>, array<unsigned int, 3u>, float)
           ^^^^^^^^^^^

仅供参考,还有一个红宝石宝石还原函数的Borland / MS /不管错位的名称: unmangler

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top