Gem 请教:pry-remote 这个 gem,如何让它执行到下一处断点而不退出当前环境啊……

hexawing · 发布于 2017年5月09日 · 最后由 springwq 回复于 2017年5月09日 · 188 次阅读
2220

之前用的pry,种种原因换成了pry-remote。但有一个问题就是:

比如,我在一段代码里写了两处binding.remote_pry,在第一处断点的时候,我在外部运行一个pry-remote,进入到断点,我调试调试,然后exit

如果是之前的pry,它就会到下一处断点然后停住,但remote_pry它会“运行到下一处断点停住,并且退出当前的pry-remote服务”。它这一退出,我就不知道现在程序是进行到哪一步、有没有被断住了,就还得再运行一遍pry-remote:如果执行起来了,说明还有断点;如果报错,说明没有断点了。很是不方便。

就不知道有没有类似continue的办法让它不退出服务继续执行呢?

相关的文档没找到,在pry里敲help好像也没有类似的说法。

共收到 3 条回复
4898

你是通过什么 gem 实现 continue next 命令的? 如果 pry-byebug, 看看这个 https://github.com/deivid-rodriguez/pry-byebug/pull/64

这个主要是 pry-remote 的问题,这个 gem 好久没更新了。https://github.com/Mon-Ouie/pry-remote

2220
4898springwq 回复

是,我也发现它好久没更新了。

我光用pry-remote的时候是不能continue的,后来装了个pry-byebug,倒是可以continue了,但并没有继续执行我的代码,而是指向了一个teardown,有点像这帖:http://stackoverflow.com/questions/32883285/pry-remote-byebug-next-goes-into-teardown,但这帖也没有解决问题。

我都不知道我现在的整个工作方式是不对的:

之前我是用自带的Webrick服务器,所以binding了之后当场就能看到。后来因为要上传文件啥的,就搞了个nginx+passenger。然而这时候我就不会启动服务了。

感觉上是nginx接管了端口然后转给passenger处理,但如何把passenger启动成之前Webrick那种可以看到日志可以断点的效果呢……到处找了一圈也不知道,所以只能换成pry-remote临时顶替一下……

4898

我也是有这个问题, continue 后 指向 teadown 也没解决。😓

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册