SBCL统计分析器警告未定义的功能

时间:2017-06-07 18:26:24

标签: profiling common-lisp sbcl

当我尝试运行统计分析器时,SBCL 1.3.9会产生以下错误。 start-profiling未导出吗?

* (in-package :cl-user)
* (require :sb-sprof)
* (sb-sprof:with-profiling (:report :flat) (bnb::solve))
; in: SB-SPROF:WITH-PROFILING (:REPORT :FLAT)
;     (SB-SPROF:START-PROFILING :MAX-DEPTH 4611686018427387903 :THREADS
;      (LIST SB-THREAD:*CURRENT-THREAD*))
;
; caught STYLE-WARNING:
;   undefined function: SB-SPROF:START-PROFILING
;
; compilation unit finished
;   Undefined function:
;     SB-SPROF:START-PROFILING
;   caught 1 STYLE-WARNING condition

debugger invoked on a UNDEFINED-FUNCTION in thread
#<THREAD "main thread" RUNNING {100292C913}>:
  The function SB-SPROF:START-PROFILING is undefined.

Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
  0: [ABORT] Exit debugger, returning to top level.

1 个答案:

答案 0 :(得分:1)

您的发布似乎有问题。请更新到最后一个SBCL

The most recent version is SBCL 1.3.18, released May 30, 2017

但是如果你看一下github中的资源

git log -S start-profiling --source --all

commit 63f714af62d0ccdb9d4a793ab0245b036c3d8531 refs/tags/sbcl_1_0
Author: Juho Snellman <jsnell@iki.fi>
Date:   Fri Nov 17 02:15:47 2006 +0000

    0.9.18.58:
            Further SB-SPROF improvements.

            * Allocation profiling on gencgc. When the profiler is running in
              allocation profiling mode, the gc will signal profiler ticks
              when new allocation regions are opened.
            * Add :LOOP keyword argument to WITH-PROFILING, to allow specifying
              whether the body should be evaluated repeatedly until the maximum
              sample count is reached.
            * Improve merging of code-components with multiple debug-funs,
              better handling of multiple functions with the same name
            * More documentation
            * Also update the stepper documentation

commit 554397512eea9d6e30067c5edc2def42006a5327 refs/tags/sbcl_0_8_12
Author: Christophe Rhodes <csr21@cam.ac.uk>
Date:   Mon Jun 21 11:33:35 2004 +0000

    0.8.11.20:
            Add SB-SPROF contrib

很久以前添加了这个功能,所以请尝试最新的代码,然后关注the manual

如果您检查代码has this mark

也是如此
#-win32

因此,如果您使用Windows 32位,则无法使用