`
t0uch
  • 浏览: 58307 次
  • 性别: Icon_minigender_1
  • 来自: 柳州
社区版块
存档分类
最新评论

passenger也可以debug

    博客分类:
  • RoR
阅读更多
最近在做一个东西,要用到subdomain,发现webrick不能支持,所以寻找passenger进行debug的方法。

方法比较土,但还是管用的。

首先,往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
分享到:
评论
4 楼 trace 2009-12-30  
学到东西了,看似旁门左道的东西在关键的时刻就能成杀手锏啊~~
3 楼 t0uch 2009-12-21  
其实不仅限于passenger,任何方式都可以用这种方式进行debug。
个人觉得在terminal debug的效果也不亚于在netbeans里debug。
问下ls,什么是pre pannel?
2 楼 poshboytl 2009-12-20  
非常不错... 正想问这个问题.... 结果就找到答案了... 推荐使用  passenger + pre pannel , 他改变了我的生活.... 
1 楼 rainchen 2009-12-20  
这技巧很有用支持一下,目前我大都是在test模式debug了(因为要先把测试跑通),
但有时会遇到一些怪异的平台问题,所以这些技巧在特殊时刻就是镇痛剂啊,感谢分享。

相关推荐

    passenger-3.0.9本地安装包

    Passenger,也称为ModRails,是一款高效且易于使用的Ruby应用程序服务器,尤其适合部署Rails应用。在本文中,我们将深入探讨如何在CentOS 5.4操作系统上通过Ruby Gem安装Passenger 3.0.9版本。为了确保顺利完成安装...

    Red Hat Enterprise Linux 环境passenger多ruby版本共存部署

    总之,通过RVM和Passenger,你可以轻松地在Red Hat Enterprise Linux环境中管理多个Ruby版本,并针对每个Rails应用选择合适的Ruby版本进行部署。这不仅提高了灵活性,还能帮助你在维护多个项目时保持系统的稳定性和...

    bus route passenger employee

    本系统“bus route passenger employee”以Java语言为开发工具,旨在提供一个全面、高效的公交线路、乘客及员工管理平台。通过这个系统,我们可以实现对公交数据的增删查改功能,并且能够将处理后的有效数据持久化...

    ruby on rails环境搭建学习笔记;passenger+nginx环境配置

    通过以上步骤,可以完成 Ruby on Rails 开发环境的基本搭建,并且能够使用 Passenger+Nginx 进行高效部署。对于初学者而言,这一系列的操作可能会有些复杂,但随着实践的增多,这些步骤会变得越来越熟悉。同时,在...

    bus empolyee root passenger

    本系统以"bus employee root passenger"为主题,旨在提供一个全面且实用的解决方案,通过Java编程语言实现,包含了完整的源代码,方便开发者进行二次开发和学习。 一、Java技术栈应用 在本公交管理系统中,Java作为...

    passenger-3.0.11.tar.gz

    Passenger(也称为ModRails或Phusion Passenger)是一款强大的、易于使用的Web服务器和应用程序服务器,主要用于部署Ruby on Rails应用,但同时也支持其他语言如Node.js和Python。在本压缩包"passenger-3.0.11.tar....

    rvm nginx passenger rails配置服务器.docx

    如果需要切换Rails版本,可以使用`rvm use 1.9.3@rails3`命令,然后再次确认`passenger_ruby`的正确路径,可以通过`passenger-config --ruby-command`获取。 ### 重启Nginx 最后,使用`/opt/nginx/sbin/nginx`命令...

    Passenger-Car-Drive-Axle-Gear-Design

    这份资料分为两部分,即"Passenger-Car-Drive-Axle-Gear-Design-35-74.pdf"和"Passenger-Car-Drive-Axle-Gear-Design-1-34.pdf",涵盖了齿轮设计的关键环节。 一、弧齿锥齿轮设计 弧齿锥齿轮是一种广泛应用于汽车...

    Ansible-ansible-role-passenger.zip

    Phusion Passenger(也称为mod_rails或mod_passenger)是一个Apache和Nginx模块,它允许这两个流行的Web服务器无缝地托管Ruby、Python、Node.js和Go等语言的应用程序。它简化了开发和部署过程,因为它能够直接处理...

    passenger-ruby-websocket-demo, 在Phusion上,web sockets演示.zip

    passenger-ruby-websocket-demo, 在Phusion上,web sockets演示 Phusion乘客的web sockets这个应用程序演示了 Phusion Passenger中的web socket支持。 乘客支持所有主流的现代网络技术,如网格网,完全脱离了盒子。 ...

    2003 Survey of Passenger Weights

    Survey of Passenger Weights

    passenger, 一种用于 ruby python 和 node.js的快速健壮的web服务器和.zip

    passenger, 一种用于 ruby python 和 node.js的快速健壮的web服务器和 :快速而健壮的web服务器和应用服务器,用于 ruby,python 和 Node.js部署web应用程序需要大量复杂性,增加了生产中有用的强大的企业级特性。...

    let her go passenger

    《Let Her Go》是由英国歌手Passenger(迈克·罗森)创作并演唱的一首民谣歌曲,这首歌在2012年发行,迅速在全球范围内走红,成为了他的代表作之一。这首歌曲以其深情的歌词和动人的旋律,赢得了众多乐迷的喜爱,...

    passenger:基于WebRTC对等连接的实时聊天

    服务器也可以修改为远程运行。 这是9个浏览器之间的连接和消息传递的演示: 安装 git clone git@github.com:wellsjo/passenger.git cd passenger npm install # creates a run script ./devify.sh 运行对等服务器 ...

    passenger.sql

    passenger.sql

    世界城市客运交通出行模式(Passenger Transport Mode Shares in World Cities)(英文)-报告资料.pdf

    报告“世界城市客运交通出行模式(Passenger Transport Mode Shares in World Cities)”是2011年由LTA学院发布的,自那时起,该报告已成为全球交通专业人士广泛引用的参考资料。这份2014年11月的更新版涵盖了表1中...

    Passenger

    在开发环境中,Passenger可以配合Rails的`rails server`命令一起使用,但生产环境中,更常见的是将其配置到Apache或Nginx中。当用户访问HTML页面时,Passenger会解析URL,找到对应的Rails路由,执行相应的控制器...

    passenger

    客运Paketo Buildpackgcr.io/paketo-buildpacks/passenger 乘客CNB为在乘客服务器上运行的给定Ruby应用程序设置启动命令。一体化该CNB编写了一条命令,因此,目前尚无可以想象的情况,您需要将其作为依赖项。 如果...

    Docker基础镜像提供工具passenger-docker.zip

    passenger-docker 是为 Ruby,Python,Node.js 和 Meteor web 应用提供 Docker 基础镜像的工具。 标签:passenger

Global site tag (gtag.js) - Google Analytics