gpt4 book ai didi

function - 如何在顶层打印函数调用和回溯?

转载 作者:行者123 更新时间:2023-12-02 19:52:13 26 4
gpt4 key购买 nike

我正在尝试获取函数调用的回溯。我想知道是否有人知道如何在顶层做到这一点。

最佳答案

#trace指令对于跟踪函数很有用,例如,

# let rec f x = if x > 0 then f (x - 1) else "done";;
val f : int -> string = <fun>
# #trace f;;
f is now traced.
# f 12;;
f <-- 12
f <-- 11
f <-- 10
...

要跟踪多个函数,请对所有函数使用 #trace,例如,

#trace f;;
#trace g;;

不要忘记,重新定义函数后,您需要再次调用#trace,因为从顶层角度来看,这是一个新函数,尽管它具有相同的名称。

要取消跟踪函数 f,请使用 #untrace f,要取消跟踪当前跟踪的所有函数,请使用 #untrace_all

此外,您可能会发现有用的 Printexc.get_callstack 函数,如果您使用 Printexc.record_bactrace true 启用跟踪记录,则会显示当前的调用堆栈。

关于function - 如何在顶层打印函数调用和回溯?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29645430/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com