如何在没有 sprof 的情况下分析动态链接库?

     2023-03-06     281

关键词:

【中文标题】如何在没有 sprof 的情况下分析动态链接库?【英文标题】:How to profile a dynamically linked library without sprof? 【发布时间】:2012-11-12 17:31:51 【问题描述】:

我正在使用some trouble 分析动态库,但我似乎找不到任何使用过 sprof 的人。

有人知道可以为动态链接库提供调用图的替代工具吗?

【问题讨论】:

Maybe this will help? 您可以使用任何现代工具,例如:valgrind(带有 callgrind 子工具)、gperftools(pprof、cpuprofiler)、perf(Linux 内核的一部分,perf.wiki.kernel.org/)、oprofile。他们中的任何一个都应该提供调用图。 附加说明,gprof 是unable to profile calls to shared libraries。显然,gprof 将为共享库函数收集的样本与其调用者收集的样本结合起来,因此只报告两者的累积统计数据,而不是单独报告。 【参考方案1】:

答案是使用 valgrind 和 KCachegrind

【讨论】:

sprof 如何找到我的共享库

】sprof如何找到我的共享库【英文标题】:Howcansproflocatemysharedlibrary【发布时间】:2012-03-0719:08:25【问题描述】:我在/tmp文件夹中创建了一个共享库“mylib.so”。我想分析mylib.so。为此,我采取了以下步骤导出LD_PROFILE_OUTPUT=$PWD导... 查看详情

sprof "PLTREL 未找到错误"

...予了?我是否缺少某种链接器标志或什么?互联网上似乎没有关于此的信息。sprof的手册页长约 查看详情

在没有第三方库的情况下从 JSON 获取动态对象的最佳方法是啥?

】在没有第三方库的情况下从JSON获取动态对象的最佳方法是啥?【英文标题】:What\'sthebestwaytogetadynamicobjectfromJSoNwithoutthirdpartylibraries?在没有第三方库的情况下从JSON获取动态对象的最佳方法是什么?【发布时间】:2012-02-2313:56:2... 查看详情

你可以在没有 App Store Id 的情况下使用 firebase 动态链接吗

】你可以在没有AppStoreId的情况下使用firebase动态链接吗【英文标题】:canyouusefirebasedynamiclinkwithoutAppStoreId【发布时间】:2021-07-1308:12:04【问题描述】:我正在使用我的测试FlutteriOS和android应用程序测试firebase动态链接。我想知道... 查看详情

我们可以在没有 page.link 域的情况下使用 firebase 动态链接吗?

】我们可以在没有page.link域的情况下使用firebase动态链接吗?【英文标题】:Canweusefirebasedynamiclinkswithoutthepage.linkdomain?【发布时间】:2018-07-2711:25:13【问题描述】:当我们使用Firebase动态链接时,我们是否必须使用由谷歌托管的pa... 查看详情

静态库和动态库同时链接

在应用程序需要链接外部库的情况下,linux默认对库的链接是使用动态库,在找不到动态库的情况下再选择静态库。当动态库与静态库混合链接时,使用-static会导致所有的库都使用静态链接的方式,这时就需要-Wl的方式: gcc... 查看详情

如何在有或没有 SIMD 内在函数的情况下从 Zig 构建和链接到 CGLM

】如何在有或没有SIMD内在函数的情况下从Zig构建和链接到CGLM【英文标题】:HowtobuildandlinktoCGLMfromZigwithorwithoutSIMDintrinsics【发布时间】:2021-03-0117:10:32【问题描述】:我想链接和使用cglmC库。我正在使用Zig0.7.1和Zig0.8.0(主)在没... 查看详情

如何构建一个使用文本库的分析程序?

】如何构建一个使用文本库的分析程序?【英文标题】:HowdoIbuildaprogramwithprofilingthatusesthetextlibrary?【发布时间】:2010-12-3021:42:38【问题描述】:我正在构建一个链接到text库的程序。当我在没有分析的情况下构建它时,一切正常... 查看详情

如何在没有crt的情况下链接obj文件?

】如何在没有crt的情况下链接obj文件?【英文标题】:Howtolinkobjfileswithoutcrt?【发布时间】:2019-02-1420:27:03【问题描述】:如何在没有CRT的情况下实现链接2.o文件。编译.c文件:gcc-ffreestanding-cfile.c-ofile.o链接:gccfile1.ofile2.o-of.o标... 查看详情

如何从一个动态链接库dll中查看接口函数

参考技术A一、动态链接库的概念动态链接库(DynamicLinkLibrary,缩写为DLL)是一个可以被其它应用程序共享的程序模块,其中封装了一些可以被共享的例程和资源。动态链接库文件的扩展名一般是dll,也有可能是drv、sys和fon,它... 查看详情

linux下常用调试技巧

1linux下如何查看静态库和动态库都链接了那些库1.1静态库.a是没有指令可以看到其在生成过程中链接了那些库的1.2动态库.so可以通过ldd指令查看其在生成过程中链接了那些库还有一种简单直观的方法,我们可以在编译过程中看到... 查看详情

linux下常用调试技巧

1linux下如何查看静态库和动态库都链接了那些库1.1静态库.a是没有指令可以看到其在生成过程中链接了那些库的1.2动态库.so可以通过ldd指令查看其在生成过程中链接了那些库还有一种简单直观的方法,我们可以在编译过程中看到... 查看详情

如何在没有作曲家的情况下包含 phpspreadsheet 库?

】如何在没有作曲家的情况下包含phpspreadsheet库?【英文标题】:Howtoincludephpspreadsheetlibrarywithoutcomposer?【发布时间】:2018-10-0106:33:00【问题描述】:由于多种原因,我无法在我的服务器上运行composer。有没有办法包含使用该库所... 查看详情

如何在没有 RegAsm.exe 的情况下注册类型库

】如何在没有RegAsm.exe的情况下注册类型库【英文标题】:HowtoRegisteraTypeLibrarywithoutRegAsm.exe【发布时间】:2010-03-0322:44:43【问题描述】:我想知道是否可以在不使用RegAsmtool的情况下注册类型库。这是我的情况,希望能解释我为什... 查看详情

如何在没有“请求的未知参数”错误的情况下动态添加行

】如何在没有“请求的未知参数”错误的情况下动态添加行【英文标题】:Howtodynamicallyaddarowwithout"Requestedunknownparameter"error【发布时间】:2015-09-0906:54:47【问题描述】:我是DataTables的新手,在向数据表动态添加新行时遇... 查看详情

linux下常用调试技巧

1linux下如何查看静态库和动态库都链接了那些库1.1静态库.a是没有指令可以看到其在生成过程中链接了那些库的1.2动态库.so可以通过ldd指令查看其在生成过程中链接了那些库还有一种简单直观的方法,我们可以在编译过程中看到... 查看详情

如何在没有外部库的情况下解析包含对象列表的对象列表

】如何在没有外部库的情况下解析包含对象列表的对象列表【英文标题】:Howtoparselistofobjectswithlistofobjectsinitwithoutexternallibraries【发布时间】:2021-09-2404:04:03【问题描述】:我在不使用外部库的情况下练习在Kotlin中解析JSON字符串... 查看详情

如何在没有镜像的情况下创建本地自己的 pypi 存储库索引?

】如何在没有镜像的情况下创建本地自己的pypi存储库索引?【英文标题】:howtocreatelocalownpypirepositoryindexwithoutmirror?【发布时间】:2013-08-0519:25:15【问题描述】:我们有几个自己的python包,并希望使用简单的接口为它们创建本地p... 查看详情