gpt4 book ai didi

debugging - 执行二进制文件时是否可以回溯 "failwith"错误?

转载 作者:行者123 更新时间:2023-12-05 06:42:54 26 4
gpt4 key购买 nike

我在 Emacs 中开发 OCaml 程序,在终端中编译并运行二进制文件。

可以在 Emacs 中回溯“failwith”错误,如 this post .但大多数时候,当我在终端中执行二进制文件时,会出现“failwith”错误。除了

之外,信息很少
my error message
Fatal error: exception Failure("my error message")

有人知道是否可以回溯吗?即,了解此类执行涉及哪些 .ml 文件?

最佳答案

如果您使用调试支持进行编译,您可以使用 OCAMLRUNPARAM=b 请求回溯。

$ cat bt.ml
let g x = failwith "error"

let f x = g x

let main () = f 14

let () = main ()
$ ocamlopt -g -o bt bt.ml
$ OCAMLRUNPARAM=b bt
Fatal error: exception Failure("error")
Raised at file "pervasives.ml", line 30, characters 22-33
Called from file "bt.ml", line 7, characters 9-16

在像这样的小示例中,内联器会使报告的用处降低一些。在现实世界的程序中,它可能更有用。

(但它仍然可能没有您想要的那么详细。)

关于debugging - 执行二进制文件时是否可以回溯 "failwith"错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35664890/

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