通过 cabal 中的可执行文件分析库

Posted

技术标签:

【中文标题】通过 cabal 中的可执行文件分析库【英文标题】:Profiling library via executable in cabal 【发布时间】:2014-02-18 04:15:22 【问题描述】:

愚蠢的问题。我有一个带有 libraryexecutable 的 cabal 文件,我想用它来分析图书馆,但我无法从我的图书馆中看到成本中心(尽管我从其他模块中看到了一些,比如 @987654323 @)。

这是我的 cabal 文件的简化版本

flag dev
  default: False
  manual: True

library
  exposed-modules:     Foo

  ghc-options:        -Wall
  ghc-prof-options:   -fprof-auto
  build-depends:       base

executable dev-example
  if !flag(dev)
    buildable: False

  ghc-options: -ddump-to-file -ddump-simpl -dsuppress-module-prefixes -dsuppress-uniques -ddump-core-stats -ddump-inlinings
  ghc-options: -O2  -rtsopts  
  ghc-prof-options: -fprof-auto


  hs-source-dirs: dev-example, ./
  main-is: Main.hs
  build-depends:       base

我一直在做什么

$ cabal configure -fdev  -w /usr/local/bin/ghc-7.6.3 --enable-library-profiling --enable-executable-profiling
$ cabal run dev-example -- +RTS -h -p

【问题讨论】:

【参考方案1】:

呃,问题只是我的库代码被内联(或至少标记为INLINABLE)。

【讨论】:

以上是关于通过 cabal 中的可执行文件分析库的主要内容,如果未能解决你的问题,请参考以下文章

使用 Stack 分析构建

如何编译依赖项以在 cabal 沙箱中进行分析

Makefile常用万能模板(包括静态链接库动态链接库可执行文件)

Makefile常用万能模板(包括静态链接库动态链接库可执行文件)

使用 minidumps 和 GDB 分析 mingw 编译的可执行文件的崩溃?

未找到 GraphViz 的可执行文件 - 为啥通过 pip 安装 graphViz 后没有安装可执行文件?