[IronPython] Debugging IronPython script code

Dino Viehland dinov at microsoft.com
Mon Oct 13 07:14:43 CEST 2008


Oh, sorry, it looks like it needs to be a bool, not "true" in quotes...  With that in mind this works for me:

        Dictionary<String, object> options = new Dictionary<string,object>();
        options["Debug"] = true;
        ScriptEngine engine = Python.CreateEngine(options);
        ScriptSource source = engine.CreateScriptSourceFromFile("C:\\Users\\Dino\\test.py");
        source.Execute();

I can put breakpoints in test.py and hit them.

From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of Rainer Worbis
Sent: Sunday, October 12, 2008 10:02 PM
To: Discussion of IronPython
Subject: Re: [IronPython] Debugging IronPython script code

No - i get the Call Stack showed below

[Lightweight Function]
>                Microsoft.Scripting.dll!Microsoft.Scripting.Runtime.OptimizedScriptCode.InvokeTarget(Microsoft.Linq.Expressions.LambdaExpression code = {Microsoft.Linq.Expressions.Expression<Microsoft.Scripting.Runtime.DlrMainCallTarget>}, Microsoft.Scripting.Runtime.Scope scope = {Microsoft.Scripting.Runtime.Scope}) + 0x1c6 bytes
                Microsoft.Scripting.dll!Microsoft.Scripting.ScriptCode.Run(Microsoft.Scripting.Runtime.Scope scope = {Microsoft.Scripting.Runtime.Scope}) + 0x42 bytes
                Microsoft.Scripting.dll!Microsoft.Scripting.Hosting.CompiledCode.Execute(Microsoft.Scripting.Hosting.ScriptScope scope = {Microsoft.Scripting.Hosting.ScriptScope}) + 0x77 bytes
...

Rainer

Von: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] Im Auftrag von Dino Viehland
Gesendet: Montag, 13. Oktober 2008 06:55
An: Discussion of IronPython
Betreff: Re: [IronPython] Debugging IronPython script code

If you right click in the call stack window and check Show External Code do you see the code then?

From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of Rainer Worbis
Sent: Sunday, October 12, 2008 9:53 PM
To: Discussion of IronPython
Subject: Re: [IronPython] Debugging IronPython script code

I got as far as that - when the breakpoint is hit - VS pops up but not in some python code but in the call  to Execute - the python code is marked as external code.
So is there a possibility to have VS show the script code?

Rainer

Von: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] Im Auftrag von Dino Viehland
Gesendet: Sonntag, 12. Oktober 2008 21:21
An: Discussion of IronPython
Betreff: Re: [IronPython] Debugging IronPython script code

You can set DebugMode = true on a ScriptRuntimeSetup object.  If you're using the Python class you can pass a Dictionary object to CreateRuntime with "Debug" = "true" and we'll set it for you.

From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of Rainer Worbis
Sent: Sunday, October 12, 2008 12:10 PM
To: Users at lists.ironpython.com
Subject: [IronPython] Debugging IronPython script code

Hallo all,

is there a possibility to debug IronPython code that is executed with ScriptSource.Execute or CompiledCode.Execute within VisualStudio?
Setting breakpoints in the python code will can be done by System.Diagnostics.Debugger.Break() - the code breaks but I don't know how to tell VS to get into my code.

Rainer

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ironpython-users/attachments/20081012/f06021ee/attachment.html>


More information about the Ironpython-users mailing list