如何在 chefdk 中进行完整的 pry 调试 session

How to get full pry debugging session working within chefdk

在尝试从 bundle exec 命令调试 inspec 时,我无法让 pry-stack_explorerpry-byebug gem 工作。

当我单独打开 pry 时,我可以使用 show-stack 命令。

当我在 inspec 中放置 require 'pry'binding.pry 命令并使用 bundle exec inspec exec some_file.rb 运行 时,它确实在那个时候用 [=16= 阻止了我] session。但是,当我尝试来自 byebug 或 stack_explorer gem 的任何命令时,我收到错误消息:

[2] pry(#<#<Class:0x00000003ec1910>>)> show-stack NameError: undefined local variable or method `show' for File :#<Class:0x00000003ec1910> from (pry):1:in `initialize

我运行正在 ruby 的 chefdk 嵌入式版本中。我的 pry-related 宝石是:

ubuntu_machine:~/code/tools/inspec$ chef gem list pry-*

*** LOCAL GEMS ***

pry (0.10.3)
pry-byebug (3.3.0)
pry-doc (0.8.0)
pry-remote (0.1.8)
pry-stack_explorer (0.4.9.2)

为什么这些命令在 session 中不可用?

安装在这台机器上的本地 gem [通常] 与您的包配置无关。请确保您的 .gemspec / Gemfile 中列出了 pry-stack_explorerpry-byebug,然后 运行 bundle 并重试。