2

使用 Pry 时是否可以“黑盒”库?

我喜欢在遇到断点时遍历堆栈,但我真的不关心活动记录事务管理等。事实上,有时它甚至使遍历堆栈完全没用。

在 javascript 中,很容易将脚本添加到忽略列表中,并且它们只是在调试期间被跳过。有没有办法用 Pry 实现类似的行为?

其他细节

我所说的堆栈遍历的意思是使用“向上”移动到调用源代码行,该行将源代码标记移动到前一个堆栈帧。

我想忽略我自己的代码之外的帧,比如 ActiveRecord 和大多数第三方 gem。我不介意使用黑名单或白名单。

Bundle 给了我这些 gem 版本:

Using byebug 9.0.6
Using pry 0.12.2
Using pry-byebug 3.4.3
4

1 回答 1

2

pry-byebug 中不存在请求的功能。您可以在以下GitHub 问题上为 pry-byebug添加您的 +1(或编写一些代码) :

我的问题/建议是,如果有一种方法可以过滤或跳过外部库,或者有一种设置可以进入当前应用程序中属于脚本的下一行。例如,进入方法调用将跳过任何 Rails 的内部脚本或任何当前使用的 gem,并停在应用程序内文件的下一行。

以及这个 GitHub 问题

我认为拥有一个让您一直运行到下一行非 Rails/非 gem 代码的命令会非常有用。

由于最初的问题已经开放了近六年,我认为您最好的选择是帮助构建功能而不是在现有问题上添加 +1。

pry-byebug 的作者还在另一个类似问题的 SO 答案中提供了这种解决方法:

您需要手动设置断点以从控制器跳转到视图,反之亦然

于 2019-10-22T20:06:43.610 回答