如何运行 Julia 文件并查看所有后续调用的函数?

log*_*ick 1 julia

我试图了解特定脚本调用的代码中的所有函数。Julia 中是否有一种方法可以运行文件,并查看在我自己的代码中专门调用的所有函数?

我知道分析可能是一个选项,但我不确定这是否真的会给我函数名称,以及我是否可以指定仅查看内部函数(我想避免输出中的基函数)。

crs*_*nbr 6

这当然不是您想要的,但无论如何我都会在这里存档这个想法。

如果你julia --trace-compile=calls.txt myscript.jl带着myscript.jl存在去奔跑

# myscript.jl
myfunc(a) = a^2

anotherfunc(b) = sin(b)+3

myfunc(4)

anotherfunc(1.23)
Run Code Online (Sandbox Code Playgroud)

calls.txtJulia 将创建一个包含以下内容的文件

precompile(Tuple{typeof(Main.myfunc), Int64})
precompile(Tuple{typeof(Main.anotherfunc), Float64})
precompile(Tuple{typeof(Base._atexit)})
precompile(Tuple{typeof(Base.uvfinalize), Base.TTY})
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,它告诉您Main.myfunc和分别Main.anotherfunc被使用Int64Float64参数调用。可能不完全是你想要的,但也许是一个有趣的想法。