step through .py file in a .NET application written in C# in Visual Studio

jingwu.mail at gmail.com jingwu.mail at gmail.com
Tue Aug 7 20:18:32 EDT 2007


On Aug 7, 9:24 am, Paul McGuire <pt... at austin.rr.com> wrote:
> On Aug 6, 5:22 pm, Bo <bohema... at gmail.com> wrote:
>
>
>
> > Hello All,
>
> > I am experimenting IronPython in Visual Studio.  Here is what I have,
> > what I did and what I want
>
> > 1.  I have installed Visual Studio SDK 4.0 according to thisbloghttp://blogs.msdn.com/aaronmar/archive/2006/02/16/a-bit-more-on-ironp...
>
> > If I run Visual Studio under Experimental Hive, aPythonfile opened
> > is color coded.
>
> > 2.  Also, my computer has apparently installed some IronPython DLL
> > because my Visual Studio can recoginize the following class:
> > IronPython.Hosting.PythonEngine.
>
> > If I declare something like the following in Visual Studio:
>
> > public static class MyPythonClass {
> >    private static IronPython.Hosting.PythonEngine   MY_ENGINE;
> >   //suppose I have created an instance of PhythonEngine and assigned
> > to MY_ENGINE
> >    ............
>
> > }
>
> > If I do "Go to Definition" of PythonEngine, I can navigate to the
> > Definition of PythonEngine, but it is from MetaData.
>
> > 3.  In my .NET application (written in C#) , I can invoke the
> > execution of an externalpythonfile using something like:
> > MyPythonClass.MY_ENGINE.ExecuteFile("myPythonFileWithAbsolutePath.py")
>
> > Thepythonfile (myPythonFileWithAbsolutePath.py) can be executed all
> > right, but I want to step through it to debug it.  Any suggestions on
> > how to do it?
>
> > Thanks abunch.
>
> > Bo
>
> Um, make sure you compile with debug?
>
> I have coded in Boo, which is veryPython-like, and it will step
> through the debugger just fine, so IP should do the same in theory.
> But I've not used IP, so all I can give are generic "are you sure it's
> plugged in?" type of suggestions.
>
> Hmm, upon rereading your post, I see that you want the debugger to
> step through a separate file that was executed using ExecuteFile.
> Unless there are some debug options on ExecuteFile, I'd say your
> chances are slim, since the file being executed is not really part of
> the image being debugged.  You could also try explicitly invoking the
> debugger from within the file that you are loading, using (this works
> from Boo):
>
>     System.Diagnostics.Debugger.Launch()
>     System.Diagnostics.Debugger.Break()
>
> -- Paul


Thanks Paul, for giving me the suggestions.  I will try your
suggestion.

I have been struggling with the most of today.  Here is a summary of
what I have found.  May be useful to other

1.  My IronPython DLL is version 1.1.  It is download here
http://www.codeplex.com/Wiki/View.aspx?ProjectName=IronPython

2.  Apparently, there is a problem with either the ipy.exe or
IronPython.DLL that one cannot step into a function (F11 in visual
studio).  Here is the discussion
http://lists.ironpython.com/pipermail/users-ironpython.com/2007-May/004957.html

I am not sure if this is related to my case.

3.  Here is Jim Hugunin's presentation
http://msdn.microsoft.com/msdntv/episode.aspx?xml=episodes/en/20051110PythonJH/manifest.xml

Apparently, he can step through the external ironpython file in an C#
application.  He probably used an old version of Iron Python.  The
method he used to execute the external iron python file is
Engine.Runfile()





More information about the Python-list mailing list