Re: [jruby-user] Debugging JRuby running within a Java process
Chason Choate <[email protected]> Mon, 12 Jan 2015 11:25:18 -0600
| Newsgroups | gmane.comp.lang.jruby.user |
|---|---|
| Message-ID | <CADgFOvpdoqE22-PDBPneiqiC12rsOP+dQ0X2Smaxrz1+9CeutA@mail.gmail.com> |
Thanks Christian, I'll be sure to give that a shot and let everyone know how it unfolds. On Mon, Jan 12, 2015 at 1:17 AM, Christian MICHON < [email protected]> wrote: > I would suggest using pry-remote (https://rubygems.org/gems/pry-remote) > instead. This would require it to be part of your gemfile, but this would > work perfectly: this is how we debug server applications once deployed as > war files (but only if they go into specific exceptions). > > Good luck. > > On Sat, Jan 10, 2015 at 9:03 PM, Chason Choate < > [email protected]> wrote: > >> Hello world! >> >> So i'm currently trying to figure out how to debug a JRuby on Rails app >> that is running within a Java application. I'll attempt to describe the >> stack. >> >> We have a Java app that uses the JRuby ScriptingContainer >> <http://jruby.org/apidocs/org/jruby/embed/ScriptingContainer.html> to >> launch the rails app. >> >> ScriptingContainer ruby = new >> ScriptingContainer(LocalContextScope.THREADSAFE, >> LocalVariableBehavior.TRANSIENT); >> ... >> File rackup = new File(railsPath, "config.ru"); >> rackupContent = FileUtils.fetchFile(rackup, StandardCharsets.UTF_8.name >> ()); >> ruby.put("rackup_script", rackupContent); >> ruby.put("rackup_file", rackup.getAbsolutePath()); >> IRubyObject railsApp = ruby.parse("require 'rack'; >> Rack::Builder.new_from_string(rackup_script, file=rackup_file)").run(); >> >> Then we pass the rails application to the rack servlet >> <https://github.com/square/rack-servlet> which allows the network >> requests to flow into the rails app. >> >> return new RackServlet(new JRubyRackApplication(railsApp)); >> >> At this point the app is running fine i'm just not sure how to start >> debugging. Here are some of the things i'm confused about. >> >> 1. I've read this article >> <https://github.com/jruby/jruby/wiki/UsingTheJRubyDebugger> but I am not >> sure how to start the rails app with: jruby --debug -S rdebug >> 2. Would it be possible to use standard java debugging with this setup? >> 3. Has anyone went down this path before and came out with a better >> solution, as far as launching the rails app? >> * The Java portion in mandatory but the way the rails app is launched >> could be changed. >> >> >> -- >> Thanks for your time, >> Chason Choate >> > > > > -- > Christian > -- Thanks, Chason Choate