如何将 c++filt 与 llvm-cov 报告一起使用?

2024-02-22

我正在尝试将 demangler 与 llvm-cov 报告工具一起使用。以下是我正在运行的命令:

llvm-cov report /path/to/executable -instr-profile /path/to/default.profdata /path/to/src/ -Xdemangler c++filt -Xdemangler -n

我尝试重新排列选项,并尝试使用“-Xdemangler=c++filt -Xdemangler=-n”,并使用 --no-strip-underscore 代替 -n。它不会抱怨分解器,而如果我在命令语法中犯了明显的错误,它确实会告诉我,但输出不会被分解。

来自 llvm-cov 文档:

-Xdemangler=|指定符号分解器。这可用于使报告更易于阅读。可以多次指定此选项以向分解器提供参数(例如 -Xdemangler c++filt -Xdemangler -n 用于 C++)。 demangler 应该从 stdin 读取换行符分隔的符号列表,并将相同长度的换行符分隔列表写入 stdout。

我使用以下内容来确保 c++filt 正常工作,并且确实如此:

c++filt -n _ZN4core6ZipperC2ENSt3__110shared_ptrIN8core_gen14PlatformZipperEEE

Output:

core::Zipper::Zipper(std::__1::shared_ptr<core_gen::PlatformZipper>)

我必须使用 -n 选项,否则它不会分解,但我不知道为什么 llvm-cov 似乎没有正确使用它。

我还尝试使用 shell 脚本来尝试捕获 llvm-cov 提供给分解器的输入,并在调用 c++filt 之前将其写入文件,但当我运行命令后查看时,文件为空。

难道我做错了什么?


看来 llvm-cov 中并没有到处使用分解函数名称。

本报告(-name-regex需要选项来生成函数名称)确实响应-Xdemangler option:

llvm-cov report /path/to/exe -name-regex=\.* -instr-profile=default.profdata -Xdemangler=c++filt

我看到它已修复https://reviews.llvm.org/rL294136 https://reviews.llvm.org/rL294136

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 c++filt 与 llvm-cov 报告一起使用? 的相关文章

随机推荐

  • Spring Boot + Angular 文件上传无法上传同一文件两次

    chrome 网络下出错 timeStamp status 400 error Bad Request message Required request part file is not present path url as hosted
  • malloc 和 realloc 之间的区别?

    假设我有两个用于创建 10 个元素的整数数组的代码示例 int pi int 0 realloc pi 10 另一种是正常写法 即 int pi pi malloc 10 sizeof int 现在 我的问题是 第一种赋值是合法的 但没有被
  • 点间最短距离算法

    给定平面上的一组点 找到由这些点中的任意两个点形成的最短线段 我怎样才能做到这一点 最简单的方法显然是计算每个距离 但我需要另一种算法来比较 http en wikipedia org wiki Closest pair of points
  • Nginx 身份验证(本地网络除外)

    来自 apache2 的一个功能我无法实现 仅要求对外部访问进行身份验证 但对本地网络上的用户进行免费访问 有什么想法可以轻松处理这种情况吗 任何帮助 将不胜感激 我已经删除了之前的答案 并想建议我在下面提供的解决方案 我做了一些搜索 找到
  • .net标准类库-不支持分布式事务错误

    我在 net标准类库项目中开发了一个日志服务 它可以完美工作 无需系统 事务 事务范围类 当我向进程添加事务时 记录器插入方法引发异常 该平台不支持分布式事务 当我使用 System Transaction 将代码添加到核心控制台应用程序时
  • 我应该如何在KAA中实现Rest API

    我使用 Kaa 沙箱发送通知 我必须在窗口终端上运行这些代码 curl v S u devuser devuser123 F notification applicationId 3 schemaId 4 topicId 1 type US
  • Python 全局变量的疯狂

    您有三个文件 main py second py 和 common py 通用 py usr bin python GLOBAL ONE Frank main py usr bin python from common import fro
  • Blazor - 在运行时更改 UI CultureInfo

    我需要根据每种文化的资源文件在运行时更改文化 Expected 用户单击从当前语言切换到另一种语言的按钮 页面中的文本根据每种文化的资源文件进行刷新 Actual 用户单击从当前语言切换到另一种语言的按钮 页面中的文本根据每种文化的资源文件
  • Visual Studio 2015 中没有针对 AngularJS TypeScript 的 IntelliSense

    我正在 Visual Studio 2015 的 TypeScript 中使用 ASP NET 5 和 AngularJS 构建一个应用程序 但是 即使在通过 NuGet 安装了 AngularJS Core 和 DefinelyTyped
  • React库如何直接需要它的源库?

    我正在查看 Facebook 的 React 源代码 发现在整个项目源代码中 他们没有指定加载自己模块的相对路径 例如 而不是做var foo require bar foobar 图书馆使用var foo require foobar 就
  • 批量插入到自引用表中

    这个问题是一部分一个更复杂的问题 https stackoverflow com questions 55047552 how to lock and unlock a sql server table noredirect 1 comme
  • 重命名 MySQL 中的外键列

    我们正在尝试重命名 MySQL 5 1 31 InnoDB 中作为另一个表的外键的列 起初 我们尝试使用 Django South 但遇到了一个已知问题 http south aeracode org ticket 243 http sou
  • 适用于运行 iOS 的 Cocoa iPhone 和 iPad 的 WebDAV 服务器

    我正在寻找适用于 iPhone 和 iPad 的 WebDAV 服务器 最好的开源服务器 以便集成到我的应用程序中 应该可以列出 下载和上传文件 我想将服务器根目录指向我的应用程序的 文档 文件夹 因此如果可能 这些方法应直接映射到文件系统
  • 使用 Gitolite 自动部署 PHP 脚本

    我想在本地测试服务器上设置自动部署脚本 我在 ubuntu 桌面 11 04 上使用 gitolite 我使用 apt get install gitolite 安装 gitolite 因此它创建用户 gitolite 和组 gitolit
  • 如何在 C (MacOS) 中获取进程虚拟内存映射的信息

    我想要获取有关 C MacOS 中当前进程的进程虚拟内存布局 堆栈 libc 堆和代码 的信息 我读到在 Linux 中你可以通过查看来做到这一点 proc
  • Android资源链接失败,错误:找不到属性defaultNavHost(又名...),未找到属性navGraph(又名...)

    我尝试在我的应用程序中实现导航功能 当我尝试构建应用程序时 输出显示 Android resource linking failed home mateusz AndroidStudioProjects TakeAndTie app src
  • 从 PowerShell 调用 Windows Shell 函数?

    所以我正在遵循这个教程 https msdn microsoft com en us library windows desktop hh127427 v vs 85 aspx https msdn microsoft com en us
  • iPhone 摄像机流媒体

    谁能确认这样的应用程序是如何完成的 袖珍相机 http www senstic com iphone pocketcam pocketcam aspx 是使用AVFoundation捕获摄像头视频流的方式吗 http developer a
  • 如何将选定的 HTML 转换为 Json?

    我想将部分 html 代码作为文件保存到 json 中 然后回顾 html 代码进行编辑 知道我该怎么做吗 div div div div
  • 如何将 c++filt 与 llvm-cov 报告一起使用?

    我正在尝试将 demangler 与 llvm cov 报告工具一起使用 以下是我正在运行的命令 llvm cov report path to executable instr profile path to default profda