我有一个ruby脚本,显然是正确的,有时停止工作(可能是通过pg gem调用Postgresql)。问题是它冻结但不会产生任何错误,因此我看不到行号,我总是要使用puts "ok1"
,puts "ok2"
等来隔离该行,并查看脚本停止了。
有没有更好的方法来查看正在执行的当前行(不更改脚本)?也许是当前的堆栈?
答案 0 :(得分:1)
您可以调查ruby-debug
已为多个不同版本的ruby重写过几次的项目,应该允许您逐行浏览代码。我个人更喜欢在很多情况下调试printf。此外,如果我必须对您的问题进行绝对随机的猜测,我可能会调查您是否在数据库中遇到竞争状态和/或死锁。