Rails框架技术讲座:如何真正地在企业中使用Rails框架调试器程序
Posted by cnruby Tue, 23 May 2006 20:24:00 GMT
Rails框架技术讲座:如何真正地使用Rails框架调试器程序
目录
(一)系统环境:
- Ruby 语言 1.8.4版本, 点击这里Ruby1.8.4
- Rails 框架 1.1.2版本
- Windows XP 或者 Windows 2000操作系统
- 需要一个浏览器,如FireFox1.5.0.1。
- Notepad2 开发编辑工具,安装方法请单击这里
- SQLite 3.3.3
下载 sqlite-3_3_3.zip sqlitedll-3_3_3.zip
解压它们,得到文件sqlite3.exe和sqlite3.dll;
复制它们到目录[RUBY_HOME]/bin下面; - SQLite-Ruby 1.1.0
如下命令安装该模块是针对SQLite 3.x版本:
gem install sqlite3-ruby -r -y - SQLite 3.x的可视化工具:SQLite Database Browser
解压它,我们得到软件SQLite Database Browser 1.2.1.exe
(二)前提条件:
- 我们的工作目录为d:\works_rails。
(三)目的:
- 介绍如何真正地在企业中使用Rails框架调试器程序。
- 我们创建项目的完整代码 use_breakpointer.zip 。
(四)解决方案:
- 创建一个名称为 use_breakpointer 项目,其命令如下:
rails use_breakpointer
图01
- 修改数据库配置文件database.yml和创建一个生成数据库文件的程序create_db.rb,其方法如下:
cd use_breakpointer
图02
notepad2 db\create_db.rb
notepad2 config\database.yml
图03
图04
- 运行生成数据库文件的程序并且创建一个MVC模型,其方法如下:
ruby db\create_db.rb
图05
ruby script\generate scaffold lesson admin
- 启动网络服务器WEBrick,在DOS-Shell中输入如下命令:
ruby script\server
图06
- 增加一个调试断点(切记:使用后删除或者注释它),打开文件admin_controller.rb:
notepad2 app\controllers\admin_controller.rb
图07
增加代码:breakpoint()
图08
- 打开调试器程序,其命令如下:
ruby script\breakpointer
图09
- 你可以通过打开浏览器输入如下地址:
http://localhost:3000/admin/new
图10
输入如图内容,单击按钮”Create“
图11
- 查看所有类变量内容命令(方法一)如下:
instance_variables
图12
- 查看所有类变量内容命令(方法二)如下:
client.puts instance_variables
图13
- 查看类变量的类名称命令如下:
@params.class
图14
- 查看单个类变量内容命令(方法一)如下:
client.puts @params
图15
- 查看单个类变量内容命令(方法二)如下:
client.puts @params.to_yaml
图16
- 退出当前的断点命令如下(但是,并没有结束或者说结束调试器程序,而是进入到下一个断点):
exit
图17
- 从第六步到第十二步始终可以重复,直到你不想调试为止,使用Ctrl-Pause/Break结束调试器程序。
(四)视听教学:
(五)必须注意的问题:
- Rails框架调试器常用命令:
local_variables
instance_variable
global_variables
self
caller
methods
client.puts source_lines.join("\n")
(六)参考资料:
- Ruby语言调试器库Wiki:
http://ruby-breakpoint.rubyforge.org/wiki/wiki.pl?HomePage - 有用FAQ:
http://ruby-breakpoint.rubyforge.org/wiki/wiki.pl?FrequentlyAskedQuestions - 有用资料:
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/129182 - 调试技巧:
http://ruby-breakpoint.rubyforge.org/wiki/wiki.pl?TipsAndTricks
http://laughingmeme.org/archives/002900.html
http://rails.office.drecom.jp/takiuchi/daily/200606/23 - 调试API:
http://ruby-breakpoint.rubyforge.org/doc/
http://caboo.se/doc/classes/Breakpoint/CommandBundle.html



![Validate my RSS feed [Valid RSS]](/blog1/files/valid-rss.png)




