我正在试用宝石https://github.com/toptal/disqus_api以便在this project上使用,但很难让它接受我的身份验证细节。这可能最终成为一个单独的问题,但是现在我想探索源代码并进行一些手动调试。
麻烦的是,当我bundle open disqus_api
时,发生了一些奇怪的事情。它似乎正在查找文件,但是当我对它们进行任何更改时(例如,使用调试器中断),它没有被拾取(并且当它引发错误时应该向下移动一行,行号不变) 。
那就是说,我可能没有完全错误的地方的一个迹象是,当我暂时删除gem的整个lib目录时,它仍然加载核心DisqusApi类,现在pry的'show-source'方法输出Error: Couldn't locate a definition for DisqusApi!
。
(已编辑添加):
具体而言,它是this file
的第70行所以在我编辑之后,我们有:
def perform_request #line 68
require 'byebug' #69
byebug #70
yield.tap do |response| #71
raise InvalidApiRequestError.new(response) if response['code'] != 0 #72
end
end
但它错了:
DisqusApi::InvalidApiRequestError: {"code"=>5, "response"=>"Invalid API key"}
from /Users/sashacooper/.rvm/gems/ruby-2.3.1/gems/disqus_api-0.0.5/lib/disqus_api/api.rb:70:in
阻止perform_request'`
发生了什么事?
答案 0 :(得分:1)
使用 byebug gem
在您的项目 Gemfile.rb
上group :development do
gem 'byebug'
end
在终端打开disqus_api gem
bundle open disqus_api
在宝石上lib/disqus_api.rb需要byebug宝石。
require 'byebug'
将debugger
电话放在您要调试的线路上