0

我正在使用 Byebug 调试我的 rails 应用程序。目前我正在使用step它来跟踪程序的执行。我对通过第三方库的每一行跟踪执行不感兴趣,我只想单步执行我的代码应用程序。

一个例子(使用rails,但不一定是rails):

我将 abyebug放入我的一个控制器中,然后逐步完成以下文件:

  1. /.../app/controllers/home_controller.rb
  2. /.../.rvm/gems/ruby-2.1.5@rails_4_2_2/gems/devise-3.5.5/lib/devise/controllers/helpers.rb
  3. /.../.rvm/gems/ruby-2.1.5@rails_4_2_2/gems/devise-3.5.5/lib/devise/controllers/helpers.rb
  4. /.../.rvm/gems/ruby-2.1.5@rails_4_2_2/gems/warden-1.2.4/lib/warden/session_serializer.rb
  5. /.../.rvm/gems/ruby-2.1.5@rails_4_2_2/gems/actionpack-4.2.2/lib/action_dispatch/request/session.rb
  6. Many other files here...
  7. /.../app/...some_other_file_in_my_app

我希望能够跳过步骤2-6并直接进入我的代码的下一行。step当我浏览我的代码时,基本上只是跳过所有第三方库。有没有办法自动跳过符合某些规范的文件(例如.rvm在文件路径中有一个)?

我发现了这个问题:byebug,next into application code only

但它假设你知道你要去的行号。我正在使用 byebug 来跟踪代码的去向(探索克隆项目)。

4

1 回答 1

0

看看这个 Byebug 备忘单:http: //fleeblewidget.co.uk/2014/05/byebug-cheatsheet/

您可以尝试执行控制方法,例如next X跳过X行数。或者可能finish X跳过X帧数。

使用这些执行控制方法,当您深入框架时,您将能够跳过大量代码。但是,没有办法设置仅单步执行代码的断点。除了框架及其依赖项之外,计算机无法告诉您的代码。

于 2016-09-19T18:02:58.847 回答