我正在使用Byebug调试我的rails应用程序。目前我正在使用step
来跟踪程序执行时的情况。我不对通过每一行第三方库跟踪执行感兴趣,我只想逐步完成我的代码应用程序。
一个例子(使用rails,但它不一定是rails):
我将byebug
放入我的一个控制器中,然后单步执行以下文件:
/.../app/controllers/home_controller.rb
/.../.rvm/gems/ruby-2.1.5@rails_4_2_2/gems/devise-3.5.5/lib/devise/controllers/helpers.rb
/.../.rvm/gems/ruby-2.1.5@rails_4_2_2/gems/devise-3.5.5/lib/devise/controllers/helpers.rb
/.../.rvm/gems/ruby-2.1.5@rails_4_2_2/gems/warden-1.2.4/lib/warden/session_serializer.rb
/.../.rvm/gems/ruby-2.1.5@rails_4_2_2/gems/actionpack-4.2.2/lib/action_dispatch/request/session.rb
Many other files here...
/.../app/...some_other_file_in_my_app
我希望能够跳过步骤2-6
并直接转到我的代码的下一行。当我step
通过我的代码时,基本上只是跳过所有第三方库。有没有办法自动跳过符合某些规范的文件(例如文件路径中有.rvm
)?
我发现了这个问题:byebug, next into application code only
但它假设您知道要前往的行号。我正在使用byebug来跟踪代码的去向(探索克隆的项目)。
答案 0 :(得分:0)
查看此Byebug备忘单:http://fleeblewidget.co.uk/2014/05/byebug-cheatsheet/
您可以尝试使用next X
等执行控制方法来跳过X
行数量。或者finish X
可以跳过X
帧数量。
使用这些执行控制方法,当您深入到框架中时,您将能够实现跳过大量代码。但是,没有办法设置仅通过您的代码执行的断点。计算机无法将代码与框架及其依赖关系区分开来。