Hi With my IronRubyMVC implementation I''m far enough to figure out that I need to be able to put breakpoints in my ruby code :) Now the question is how, because I think I tried all of the ways that are described in the wiki but had no success. I have a debug version of IronRuby and I''m using it in a C# ASP.NET MVC project with the System.Web.Mvc.IronRuby dll as a reference. The web application hosts the scriptruntime etc. Now what do I need to do to make visual studio break on the breakpoint I define? In merging the latest git pushes into the linux branch I''ve seen a pdb generator does that mean I can actually get to more meaningful stack traces etc. again the question how springs to mind? :) Thanks Ivan -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20090323/f2690375/attachment.html>
Is DebugMode property of the ScriptRuntimeSetup of the ScriptRuntime you run the script in set to true? Tomas From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Ivan Porto Carrero Sent: Monday, March 23, 2009 12:32 PM To: ironruby-core Subject: [Ironruby-core] Debugging ruby code in a host Hi With my IronRubyMVC implementation I''m far enough to figure out that I need to be able to put breakpoints in my ruby code :) Now the question is how, because I think I tried all of the ways that are described in the wiki but had no success. I have a debug version of IronRuby and I''m using it in a C# ASP.NET<http://ASP.NET> MVC project with the System.Web.Mvc.IronRuby dll as a reference. The web application hosts the scriptruntime etc. Now what do I need to do to make visual studio break on the breakpoint I define? In merging the latest git pushes into the linux branch I''ve seen a pdb generator does that mean I can actually get to more meaningful stack traces etc. again the question how springs to mind? :) Thanks Ivan -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20090323/e8caaa73/attachment.html>
When you create the ScriptRuntimeSetup, do this: setup.Debug = true; That will tell the DLR to generate debuggable code. ________________________________ From: ironruby-core-bounces at rubyforge.org [ironruby-core-bounces at rubyforge.org] on behalf of Ivan Porto Carrero [ivan at flanders.co.nz] Sent: Monday, March 23, 2009 12:32 PM To: ironruby-core Subject: [Ironruby-core] Debugging ruby code in a host Hi With my IronRubyMVC implementation I''m far enough to figure out that I need to be able to put breakpoints in my ruby code :) Now the question is how, because I think I tried all of the ways that are described in the wiki but had no success. I have a debug version of IronRuby and I''m using it in a C# ASP.NET<http://ASP.NET> MVC project with the System.Web.Mvc.IronRuby dll as a reference. The web application hosts the scriptruntime etc. Now what do I need to do to make visual studio break on the breakpoint I define? In merging the latest git pushes into the linux branch I''ve seen a pdb generator does that mean I can actually get to more meaningful stack traces etc. again the question how springs to mind? :) Thanks Ivan -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20090323/f6e6c81e/attachment.html>
Woops ... setup.DebugMode (like Tomas said) From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Jimmy Schementi Sent: Monday, March 23, 2009 1:32 PM To: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] Debugging ruby code in a host When you create the ScriptRuntimeSetup, do this: setup.Debug = true; That will tell the DLR to generate debuggable code. ________________________________ From: ironruby-core-bounces at rubyforge.org [ironruby-core-bounces at rubyforge.org] on behalf of Ivan Porto Carrero [ivan at flanders.co.nz] Sent: Monday, March 23, 2009 12:32 PM To: ironruby-core Subject: [Ironruby-core] Debugging ruby code in a host Hi With my IronRubyMVC implementation I''m far enough to figure out that I need to be able to put breakpoints in my ruby code :) Now the question is how, because I think I tried all of the ways that are described in the wiki but had no success. I have a debug version of IronRuby and I''m using it in a C# ASP.NET<http://ASP.NET> MVC project with the System.Web.Mvc.IronRuby dll as a reference. The web application hosts the scriptruntime etc. Now what do I need to do to make visual studio break on the breakpoint I define? In merging the latest git pushes into the linux branch I''ve seen a pdb generator does that mean I can actually get to more meaningful stack traces etc. again the question how springs to mind? :) Thanks Ivan -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20090323/3032c2da/attachment-0001.html>
Yes.. I''ll try again.. maybe I missed something. I should really say that the file that has the ruby code is an assembly resource that gets read through an AssemblyReaderStreamContentProvider. Should I be providing that content differently? http://github.com/casualjim/ironrubymvc/blob/57cfa96ae7ce03c55e25eeb74a20d1500760b414/IronRubyMvc/Core/RubyEngine.cs#L352 I use http://gist.github.com/74979 to set a breakpoint. 2009/3/23 Tomas Matousek <Tomas.Matousek at microsoft.com>> Is DebugMode property of the ScriptRuntimeSetup of the ScriptRuntime you > run the script in set to *true*? > > > > Tomas > > > > *From:* ironruby-core-bounces at rubyforge.org [mailto: > ironruby-core-bounces at rubyforge.org] *On Behalf Of *Ivan Porto Carrero > *Sent:* Monday, March 23, 2009 12:32 PM > *To:* ironruby-core > *Subject:* [Ironruby-core] Debugging ruby code in a host > > > > Hi > > With my IronRubyMVC implementation I''m far enough to figure out that I need > to be able to put breakpoints in my ruby code :) > Now the question is how, because I think I tried all of the ways that are > described in the wiki but had no success. I have a debug version of IronRuby > and I''m using it in a C# ASP.NET MVC project with the > System.Web.Mvc.IronRuby dll as a reference. The web application hosts the > scriptruntime etc. Now what do I need to do to make visual studio break on > the breakpoint I define? > > In merging the latest git pushes into the linux branch I''ve seen a pdb > generator does that mean I can actually get to more meaningful stack traces > etc. again the question how springs to mind? :) > > Thanks > Ivan > > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20090323/351a2c60/attachment.html>
The file you are setting breakpoint to needs to exists on the disk for Visual Studio debugger to work. Tomas From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Ivan Porto Carrero Sent: Monday, March 23, 2009 2:14 PM To: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] Debugging ruby code in a host Yes.. I''ll try again.. maybe I missed something. I should really say that the file that has the ruby code is an assembly resource that gets read through an AssemblyReaderStreamContentProvider. Should I be providing that content differently? http://github.com/casualjim/ironrubymvc/blob/57cfa96ae7ce03c55e25eeb74a20d1500760b414/IronRubyMvc/Core/RubyEngine.cs#L352 I use http://gist.github.com/74979 to set a breakpoint. 2009/3/23 Tomas Matousek <Tomas.Matousek at microsoft.com<mailto:Tomas.Matousek at microsoft.com>> Is DebugMode property of the ScriptRuntimeSetup of the ScriptRuntime you run the script in set to true? Tomas From: ironruby-core-bounces at rubyforge.org<mailto:ironruby-core-bounces at rubyforge.org> [mailto:ironruby-core-bounces at rubyforge.org<mailto:ironruby-core-bounces at rubyforge.org>] On Behalf Of Ivan Porto Carrero Sent: Monday, March 23, 2009 12:32 PM To: ironruby-core Subject: [Ironruby-core] Debugging ruby code in a host Hi With my IronRubyMVC implementation I''m far enough to figure out that I need to be able to put breakpoints in my ruby code :) Now the question is how, because I think I tried all of the ways that are described in the wiki but had no success. I have a debug version of IronRuby and I''m using it in a C# ASP.NET<http://ASP.NET> MVC project with the System.Web.Mvc.IronRuby dll as a reference. The web application hosts the scriptruntime etc. Now what do I need to do to make visual studio break on the breakpoint I define? In merging the latest git pushes into the linux branch I''ve seen a pdb generator does that mean I can actually get to more meaningful stack traces etc. again the question how springs to mind? :) Thanks Ivan _______________________________________________ Ironruby-core mailing list Ironruby-core at rubyforge.org<mailto:Ironruby-core at rubyforge.org> http://rubyforge.org/mailman/listinfo/ironruby-core -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20090323/169265e3/attachment.html>
Ok it works when I use Engine.RequireRubyFile("C:\path\to\file\controller.rb") but not when i use a custom streamcontent provider that knows how to deal with virtual paths. like http://github.com/casualjim/ironrubymvc/blob/57cfa96ae7ce03c55e25eeb74a20d1500760b414/IronRubyMvc/Core/VirtualPathStreamContentProvider.cs Anyway I''ll take the stream content providers out and just put something in that handles mappath to allow debugging. But now the question becomes When would I want to use a StreamContentProvider and when should I have to create a PAL ? Would using a PAL be a better idea to when hosting it in a webserver? 2009/3/23 Tomas Matousek <Tomas.Matousek at microsoft.com>> The file you are setting breakpoint to needs to exists on the disk for > Visual Studio debugger to work. > > > > Tomas > > > > *From:* ironruby-core-bounces at rubyforge.org [mailto: > ironruby-core-bounces at rubyforge.org] *On Behalf Of *Ivan Porto Carrero > *Sent:* Monday, March 23, 2009 2:14 PM > *To:* ironruby-core at rubyforge.org > *Subject:* Re: [Ironruby-core] Debugging ruby code in a host > > > > Yes.. I''ll try again.. maybe I missed something. > I should really say that the file that has the ruby code is an assembly > resource that gets read through an AssemblyReaderStreamContentProvider. > Should I be providing that content differently? > > > http://github.com/casualjim/ironrubymvc/blob/57cfa96ae7ce03c55e25eeb74a20d1500760b414/IronRubyMvc/Core/RubyEngine.cs#L352 > > I use http://gist.github.com/74979 to set a breakpoint. > > > > 2009/3/23 Tomas Matousek <Tomas.Matousek at microsoft.com> > > Is DebugMode property of the ScriptRuntimeSetup of the ScriptRuntime you > run the script in set to *true*? > > > > Tomas > > > > *From:* ironruby-core-bounces at rubyforge.org [mailto: > ironruby-core-bounces at rubyforge.org] *On Behalf Of *Ivan Porto Carrero > *Sent:* Monday, March 23, 2009 12:32 PM > *To:* ironruby-core > *Subject:* [Ironruby-core] Debugging ruby code in a host > > > > Hi > > With my IronRubyMVC implementation I''m far enough to figure out that I need > to be able to put breakpoints in my ruby code :) > Now the question is how, because I think I tried all of the ways that are > described in the wiki but had no success. I have a debug version of IronRuby > and I''m using it in a C# ASP.NET MVC project with the > System.Web.Mvc.IronRuby dll as a reference. The web application hosts the > scriptruntime etc. Now what do I need to do to make visual studio break on > the breakpoint I define? > > In merging the latest git pushes into the linux branch I''ve seen a pdb > generator does that mean I can actually get to more meaningful stack traces > etc. again the question how springs to mind? :) > > Thanks > Ivan > > > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > > > > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20090323/a6fb8082/attachment.html>
PAL provides more general virtualization of file system (though still not complete). By using custom content providers for a ScriptSource it only affects one particular ScriptSource while PAL is used by other API as well. For example, File#open goes thru PAL: context.DomainManager.Platform.OpenInputFileStream(path, fileMode, access, share); Also, content of required files is read via PAL: see Microsoft.Scripting\SourceFileContentProvider.cs. So, PAL allows the host to make basic file IO operations work ? you can, for example, build virtual file system based on Isolated Storage or some database table. The virtualization is not complete, we are looking for reasonable set of API that it make sense to virtualize. If you find something you would need let us know. Sadly, Visual Studio debugger requires source files to be physical files on disk. If you need to debug some code stored in a database you need to save it to a file. You might want to do so only when DebugMode is on. If it is not, PDBs are not generated anyways so the code is not debuggable by VS. Tomas From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Ivan Porto Carrero Sent: Monday, March 23, 2009 3:18 PM To: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] Debugging ruby code in a host Ok it works when I use Engine.RequireRubyFile("C:\path\to\file\controller.rb") but not when i use a custom streamcontent provider that knows how to deal with virtual paths. like http://github.com/casualjim/ironrubymvc/blob/57cfa96ae7ce03c55e25eeb74a20d1500760b414/IronRubyMvc/Core/VirtualPathStreamContentProvider.cs Anyway I''ll take the stream content providers out and just put something in that handles mappath to allow debugging. But now the question becomes When would I want to use a StreamContentProvider and when should I have to create a PAL ? Would using a PAL be a better idea to when hosting it in a webserver? 2009/3/23 Tomas Matousek <Tomas.Matousek at microsoft.com<mailto:Tomas.Matousek at microsoft.com>> The file you are setting breakpoint to needs to exists on the disk for Visual Studio debugger to work. Tomas From: ironruby-core-bounces at rubyforge.org<mailto:ironruby-core-bounces at rubyforge.org> [mailto:ironruby-core-bounces at rubyforge.org<mailto:ironruby-core-bounces at rubyforge.org>] On Behalf Of Ivan Porto Carrero Sent: Monday, March 23, 2009 2:14 PM To: ironruby-core at rubyforge.org<mailto:ironruby-core at rubyforge.org> Subject: Re: [Ironruby-core] Debugging ruby code in a host Yes.. I''ll try again.. maybe I missed something. I should really say that the file that has the ruby code is an assembly resource that gets read through an AssemblyReaderStreamContentProvider. Should I be providing that content differently? http://github.com/casualjim/ironrubymvc/blob/57cfa96ae7ce03c55e25eeb74a20d1500760b414/IronRubyMvc/Core/RubyEngine.cs#L352 I use http://gist.github.com/74979 to set a breakpoint. 2009/3/23 Tomas Matousek <Tomas.Matousek at microsoft.com<mailto:Tomas.Matousek at microsoft.com>> Is DebugMode property of the ScriptRuntimeSetup of the ScriptRuntime you run the script in set to true? Tomas From: ironruby-core-bounces at rubyforge.org<mailto:ironruby-core-bounces at rubyforge.org> [mailto:ironruby-core-bounces at rubyforge.org<mailto:ironruby-core-bounces at rubyforge.org>] On Behalf Of Ivan Porto Carrero Sent: Monday, March 23, 2009 12:32 PM To: ironruby-core Subject: [Ironruby-core] Debugging ruby code in a host Hi With my IronRubyMVC implementation I''m far enough to figure out that I need to be able to put breakpoints in my ruby code :) Now the question is how, because I think I tried all of the ways that are described in the wiki but had no success. I have a debug version of IronRuby and I''m using it in a C# ASP.NET<http://ASP.NET> MVC project with the System.Web.Mvc.IronRuby dll as a reference. The web application hosts the scriptruntime etc. Now what do I need to do to make visual studio break on the breakpoint I define? In merging the latest git pushes into the linux branch I''ve seen a pdb generator does that mean I can actually get to more meaningful stack traces etc. again the question how springs to mind? :) Thanks Ivan _______________________________________________ Ironruby-core mailing list Ironruby-core at rubyforge.org<mailto:Ironruby-core at rubyforge.org> http://rubyforge.org/mailman/listinfo/ironruby-core _______________________________________________ Ironruby-core mailing list Ironruby-core at rubyforge.org<mailto:Ironruby-core at rubyforge.org> http://rubyforge.org/mailman/listinfo/ironruby-core -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20090323/27e184e7/attachment.html>