Groups > Borland > Delphi web services WSDL > Re: Source Code Debugging




Source Code Debugging

Source Code Debugging
29 Jan 2008 14:37:36 -0700
I wrote a little test program to consume my first web service (Sharepoint) 
through Delphi for Win32.  With all the debug options turned on I expected 
to be able to debug through the method calls.  But I find myself dropped 
into the middle of "RIO.PAS" and from then until back into my own code
the 
execution pointer doesn't match what the source code window shows.

Has anyone else experienced this?  Is there a resolution?

Thanks.


Post Reply
Re: Source Code Debugging
Tue, 29 Jan 2008 19:17:18 -080
Hello,

What version of Delphi are you using? I suspect you might have updates or an
incorrect/mismatched version of RIO.PAS. You should be able to step through
the SOAP runtime. There's a little magic that happens in RIO.pas (where we
manufacture fake vtables) but soon after you'll be in OpToSOAPDomConv.pas
where most of the serialization logic resides.

Make sure you're picking the correct RIO.PAS that you linked with. Or give
the IDE/DCC32 the path of your RIO.PAS to ensure that it uses it rather than
another .dcu already in the path.

Let me know if the above does not help!.

Cheers,

Bruneau.

Post Reply
Re: Source Code Debugging
30 Jan 2008 14:59:55 -0700
Delphi version is reported as 11.0.2902.10471.

Stepping through a method call on the web service puts me here (see EP-->)

procedure TRIO.GenericStub;
asm
        POP     EAX  { Return address in runtime generated stub }
        POP     EDX  { Is there a pointer to return structure on stack and 
which CC is used?  }
        CMP     EDX, 2
        JZ      @@RETONSTACKRL
        CMP     EDX, 1
EP-->   JZ      @@RETONSTACKLR
        POP     EDX           { Method # pushed by stub  }
        PUSH    EAX           { Push back return address }
        LEA     ECX, [ESP+12] { Calc stack pointer to start of params }
        MOV     EAX, [ESP+8]  { Calc interface instance ptr }
        JMP     @@CONT
@@RETONSTACKLR:
...

Using single step from here I find myself stepping over comments lower in 
Rio.pas.

Rio.pas has the following properties:

26-Aug-2007 18:03 33,256

While I guess this isn't a big deal I'm still puzzled by it.  Debugging 
through other parts of the VCL for example I've yet to see this.


Post Reply
about | contact