Thanks a lot for the help.

This command-line switch works for me.
There doesn't seem to be any negative side effects of this switch as far as
I can tell, so I'm happy with this solution until v2.0 comes around ;-)

Thanks again,
Julien Couvreur
http://blog.monstuff.com



On 5/24/07, Dino Viehland <[EMAIL PROTECTED]> wrote:

 This looks like a bug – the issue here is that there's a section of code
right after the method prologue which is not associated with any source
information (see below to see the raw details).  Luckily we have a command
line switch which will get rid of the extra info and make stepping work for
you again, and that's –X:NoTraceback (the extra instructions are marking
line number info so we can extract it back out at runtime).  The ultimate
result of that switch is that exec'd code will be missing Python line number
information.



In v2.0 we have gotten much more serious about getting the debugging
experience 100% right.  We're starting to bring on test suites to ensure
that all of our debugging information is emitted correctly, that we step
through the various control flow blocks in a reasonable way, etc…  In v1.xwe do 
an alright job but we haven't dedicated the test resources to ensure
it's a great experience.  Because of that I'm inclined to not open a bug on
this and just say the experience will be much better in v2.0.  Let me know
if you think that's the wrong call J.



00000000  push        ebp

00000001  mov         ebp,esp

00000003  push        edi

00000004  push        esi

00000005  push        ebx

00000006  sub         esp,2Ch

00000009  xor         eax,eax

0000000b  mov         dword ptr [ebp-24h],eax

0000000e  mov         dword ptr [ebp-28h],eax

00000011  mov         dword ptr [ebp-38h],eax

00000014  xor         eax,eax

00000016  mov         dword ptr [ebp-18h],eax

00000019  mov         dword ptr [ebp-30h],ecx

0000001c  mov         dword ptr [ebp-34h],edx

0000001f  cmp         dword ptr ds:[036132FCh],0

00000026  je          0000002D

00000028  call        76A35C56

0000002d  xor         edx,edx

0000002f  mov         dword ptr [ebp-2Ch],edx

00000032  xor         edx,edx

00000034  mov         dword ptr [ebp-38h],edx

00000037  mov         dword ptr [ebp-28h],0                   <!—F11 steps
in here

0000003e  mov         dword ptr [ebp-2Ch],2                   <!—next F11
ends up here

--- C:\Product\Released\IronPython-1.1\debugger.py-----------------------------

def add(a,b):

    return a+b

00000045  nop                                                 <!—one more
and we're in the function

00000046  mov         edx,dword ptr [ebp-34h]

00000049  mov         ecx,dword ptr [ebp-30h]

0000004c  call        dword ptr ds:[001C9150h]

00000052  mov         esi,eax







*From:* [EMAIL PROTECTED]<https://mail.google.com/mail?view=cm&tf=0&[EMAIL 
PROTECTED]>[mailto:
[EMAIL PROTECTED]<https://mail.google.com/mail?view=cm&tf=0&[EMAIL PROTECTED]>]
*On Behalf Of *Julien Couvreur
*Sent:* Wednesday, May 23, 2007 1:04 PM
*To:* [email protected]<https://mail.google.com/mail?view=cm&tf=0&[EMAIL 
PROTECTED]>
*Subject:* [IronPython] Problem stepping into functions in debugger with
F11



Hi,

I'm running a simple program below. I'm trying to "step into" the "add"
function. But Visual Studio 2005 and the Microsoft CLR Debugger (from the
.Net 2.0 SDK) both complain that:

"There is no source code available for the current location."



They then offer me to view the disassembly.
Any ideas how to fix this?


Note that I do have "Enable Just My Code" turned on (which is the
default).

Thanks,
Julien Couvreur
http://blog.monstuff.com



Repro steps:
1) save the code below to debugger.ipy
2) Run ipy.exe debugger.ipy
3) You should get a prompt to start debugging the code with your favorite
debugger, accept it
4) The code should be stopped at the breakpoint, you can step forward with
F10 and then F11
5) Trying to step into the call to the "add" method fails as described
above

def add(a,b):
    return a+b

import System.Diagnostics
System.Diagnostics.Debugger.Break()

print add(4, 4)


_______________________________________________
users mailing list
[email protected]<https://mail.google.com/mail?view=cm&tf=0&[EMAIL 
PROTECTED]>
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com


_______________________________________________
users mailing list
[email protected]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com

Reply via email to