浏览 2635 次
锁定老帖子 主题:passenger也可以debug
精华帖 (0) :: 良好帖 (4) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-12-17
最后修改:2009-12-17
方法比较土,但还是管用的。 首先,往development.rb里加入 if File.exists?(File.join(RAILS_ROOT,'tmp', 'debug.txt')) require 'ruby-debug' Debugger.wait_connection = true Debugger.start_remote File.delete(File.join(RAILS_ROOT,'tmp', 'debug.txt')) end 接着在lib/task目录下新建restart.rake文件,内容为 task :restart do system("touch tmp/restart.txt") system("touch tmp/debug.txt") if ENV["DEBUG"] == 'true' end 目前为止基本上搞定了,不过这些前提是已经安装了ruby-debug,rdebug这个命令可以执行。 这里是nginx,用development模式运行rails,在需要debug的地方加入一行"debugger",debug的时候在这里break。然后运行rake restart DEBUG=true。 打开浏览器,输入可以跑到刚刚输入debugger的url,会发现页面停止在那里。 这个时候,到terminal输入rdebug -c,怎么样,看到熟悉的debug界面了吧? 另外,在home建立一个文件.rdebugrc,设置一下debugger效果会好一些 set autoeval set autolist set autoreload 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-12-20
这技巧很有用支持一下,目前我大都是在test模式debug了(因为要先把测试跑通),
但有时会遇到一些怪异的平台问题,所以这些技巧在特殊时刻就是镇痛剂啊,感谢分享。 |
|
返回顶楼 | |
发表时间:2009-12-20
非常不错... 正想问这个问题.... 结果就找到答案了... 推荐使用 passenger + pre pannel , 他改变了我的生活....
|
|
返回顶楼 | |
发表时间:2009-12-21
其实不仅限于passenger,任何方式都可以用这种方式进行debug。
个人觉得在terminal debug的效果也不亚于在netbeans里debug。 问下ls,什么是pre pannel? |
|
返回顶楼 | |
发表时间:2009-12-30
学到东西了,看似旁门左道的东西在关键的时刻就能成杀手锏啊~~
|
|
返回顶楼 | |