pbp*_*pbp 8 debugging ocaml functional-programming compilation exception
我正在尝试使用堆栈跟踪Printexc.get_backtrace,但我收到错误:
(Program not linked with -g, cannot print stack backtrace)
我正在编译:
ocamlfind ocamlc -g -o foo ... $(FOO_OBJS)
FOO_OBJS编译为:
ocamlc -c $OBJ
怎么了?应该每个.cmo都编译-g?
如果在没有编译的对象中发生异常,-g我会得到部分堆栈跟踪,或者根本没有堆栈跟踪?
怎么了?每个.cmo应该用-g编译吗?
是的,您必须添加-g编译和链接选项.您还可以使用ocamldebug此选项逐步执行该程序.环境变量也OCAMLRUNPARAM必须设置为b.
如果在没有-g编译的对象中发生异常,我会得到部分堆栈跟踪,还是根本没有堆栈跟踪?
你打赌!我记得有几次我忘了这个-g选项而且后面跟踪只是标准库.