`
任清宇
  • 浏览: 20417 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

rails断点调试

    博客分类:
  • ruby
 
阅读更多

在ruby on rails  编程中 难免会遇到问题,有些问题需要一步一步的调试才能解决,这里记录一下rails的常用的调试方法已被后期的使用

 

断点

断点设置在何处终止执行代码。调试器会在断点设定行调用。

断点可以使用 break 命令(缩写形式为 b)动态添加。设置断点有三种方式:

  • break line:在当前源码文件的第 line 行设置断点;
  • break file:line [if expression]:在文件 file 的第 line 行设置断点。如果指定了表达式 expression,其返回结果必须为 true 才会启动调试器;
  • break class(.|\#)method [if expression]:在 class 类的 method 方法中设置断点,. 和 \# 分别表示类和实例方法。表达式 expression 的作用和上个命令一样;
  • (rdb:5) break 10
    Breakpoint 1 file /PathTo/project/vendor/rails/actionpack/lib/action_controller/filters.rb, line 10
     info breakpoints n 或 info break n 命令可以列出断点。如果指定了数字 n,只会列出对应的断点,否则列出所有断点。
  • (rdb:5) info breakpoints
    Num Enb What
      1 y   at filters.rb:10
     如果想删除断点,可以执行 delete n 命令,删除编号为 n 的断点。如果不指定数字 n,则删除所有在用的断点。
  • (rdb:5) delete 1
    (rdb:5) info breakpoints
    No breakpoints.
     启用和禁用断点的方法如下:
    • enable breakpoints:允许使用指定的断点列表或者所有断点终止执行程序。这是创建断点后的默认状态。
    • disable breakpoints:指定的断点 breakpoints 在程序中不起作用。
    • 恢复执行
    • 有两种方法可以恢复被调试器终止执行的程序:

      • continue [line-specification](或 c):从停止的地方恢复执行程序,设置的断点失效。可选的参数 line-specification 指定一个代码行数,设定一个一次性断点,程序执行到这一行时,断点会被删除。
      • finish [frame-number](或 fin):一直执行程序,直到指定的堆栈帧结束为止。如果没有指定 frame-number 参数,程序会一直执行,直到当前堆栈帧结束为止。当前堆栈帧就是最近刚使用过的帧,如果之前没有移动帧的位置(执行 updown 或 frame 命令),就是第 0 帧。如果指定了帧数,则运行到指定的帧结束为止。
      • 有很多 Rails 插件可以帮助你查找问题和调试程序。下面列出一些常用的调试插件:

        • Footnotes:在程序的每个页面底部显示请求信息,并链接到 TextMate 中的源码;
        • Query Trace:在日志中写入请求源信息;
        • Query Reviewer:这个 Rails 插件在开发环境中会在每个 SELECT 查询前执行 EXPLAIN 查询,并在每个页面中添加一个 div 元素,显示分析到的查询问题;
        • Exception Notifier:提供了一个邮件发送程序和一组默认的邮件模板,Rails 程序出现问题后发送邮件提醒;
        • Better Errors:使用全新的页面替换 Rails 默认的错误页面,显示更多的上下文信息,例如源码和变量的值;
        • RailsPanel:一个 Chrome 插件,在浏览器的开发者工具中显示 development.log 文件的内容,显示的内容包括:数据库查询时间,渲染时间,总时间,参数列表,渲染的视图等。
分享到:
评论

相关推荐

    web开发之rails最新调试通过购物车代码

    web开发敏捷之道-rails第二版,下载后因为版本的更新已经程序登录上的一些问题进行的代码调整。目前在最新版本上可以运行

    rails 2.3.2离线安装rails 2.3.2离线安装

    rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails ...

    [Rails] Crafting Rails Applications (英文版)

    [Pragmatic Bookshelf] Crafting Rails Applications Expert Practices for Everyday Rails Development (E-Book) ☆ 图书概要:☆ Rails 3 is a huge step forward. You can now easily extend the framework, ...

    Ruby on Rails Guides v2 - Ruby on Rails 4.2.5

    Ruby on Rails Guides v2 - Ruby on Rails 4.2.5

    Ruby on Rails Tutorial

    《Ruby on Rails Tutorial》中文版(原书第2版,涵盖 Rails 4) Ruby 是一门很美的计算机语言,其设计原则就是“让编程人员快乐”。David Heinemeier Hansson 就是看重了这一点,才在开发 Rails 框架时选择了 Ruby...

    Rails之道,完整扫描版

    《Rails之道》按照Rails的各个子系统进行组织编排,分别介绍了Rails的环境、初始过程、配置和日志记录,Rails的分配器、控制器、页面生成和路由,REST、资源和Rails,ActiveRecord的基础、关联、验证和高级技巧,...

    Rails项目源代码

    一个用Ruby on Rails搭建的图片分享的网站项目.完整源代码

    rails敏捷开发的购物车系统

    本资源是参照rails敏捷开发第四版书中的例子,rails的版本是rails3.2.6

    Bootstrap for Rails (2015)

    Bootstrap 3 和 Rails 4(样例用的是Ruby 2.1.1,Rails 4.1.4) Table of Contents Preface 1 Chapter 1: Introducing Web Application Development in Rails 7 Why Bootstrap with Rails? 8 Setting up a Todo ...

    adminlte-rails, AdminLTE Rails gem 将AdminLTE主题与 Rails 资产管道集成.zip

    adminlte-rails, AdminLTE Rails gem 将AdminLTE主题与 Rails 资产管道集成 AdminLTE Rails gem AdminLTE 是后端的高级 Bootstrap 主题。英镑 AdminLTE Rails gem 与 Rails 资产管道集成了英镑AdminLTE主题。安装将...

    Agile Web Development with Rails 4

    Ruby on Rails helps you produce high-quality, beautiful-looking web applications quickly. You concentrate on creating the application, and Rails takes care of the details., Tens of thousands of ...

    使用Aptana+Rails开发Rails Web应用(中文)

    使用Aptana+Rails开发Rails Web应用 有Aptana的安装配置等等,中文

    Rails101_by_rails4.0

    中文世界唯一一本Rails 4.0.0 + Ruby 2.0.0 的自學書籍

    提升Ruby on Rails性能的几个解决方案

    Ruby On Rails 框架自它提出之日起就受到广泛关注,在“不要重复自己”,“约定优于配置”等思想的指导下,Rails 带给 Web 开发者的是极高的开发效率。 ActiveRecord 的灵活让你再也不用配置繁琐的 Hibernate 即可...

    rails api(文档)

    rails文档 rails api 英文

    rails指南 中文版

    rails指南 中文版

    minitest-rails, Rails的Minitest集成.zip

    minitest-rails, Rails的Minitest集成 minitestRails 5的Minitest集成 安装gem install minitest-rails这将安装以下宝石:minitest配置创建一个新的Rail

    Learning Rails 5(高清文字pdf版)

    If you’re a web developer or designer ready to learn Ruby on Rails, this hands-on guide is the ideal way to get started. Rather than toss you into the middle of the framework’s Model-View-Controller...

Global site tag (gtag.js) - Google Analytics