【问题标题】:How can sprof locate my shared librarysprof 如何找到我的共享库
【发布时间】:2012-03-07 19:08:25
【问题描述】:

我在 /tmp 文件夹中创建了一个共享库“mylib.so”。我想分析 mylib.so。 为此,我采取了以下步骤

  1. 导出 LD_PROFILE_OUTPUT=${PWD}
  2. 导出 LD_PROFILE=mylib.so
  3. 导出 LD_LIBRARY_PATH=/tmp
  4. 执行 my_app,它与 mylib.so 链接

在这 4 个步骤之后,我“应该”在 /tmp 文件夹中有一个 mylib.so.profile。但没有这样的文件。我怀疑 sprof 无法找到 mylib.so。我如何告诉 sprof 在 /tmp 文件夹中查找 mylib.so? 我正在使用 redhat 企业版 linux 5.0。

【问题讨论】:

    标签: c++ sprof


    【解决方案1】:

    以上所有步骤均有效。我的错误是共享库被称为 mylib.so.1 而不是 mylib.so。我在 my_app 上运行 ldd,它显示 my_app 需要 mylib.so.1。 然后我更改了 export LD_PROFILE=mylib.so.1 一切正常。

    【讨论】:

      猜你喜欢
      • 2020-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-22
      • 2014-06-13
      • 2016-06-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多