Javier,
 
I have little experience debugging around Squeak/Pharo FFI, so I will simply offer something the popped into my head based on Dolphin experience.  Are you certain of the return and argument types?  Every so often, I feed Dolphin nonsense in one of those areas, and the results can be spectacular, especially the fallout from a bogus return type.
 
Sorry I cannot be of any real help.
 
Bill
 



From: pharo-project-bounces@lists.gforge.inria.fr [mailto:pharo-project-bounces@lists.gforge.inria.fr] On Behalf Of Javier Pim�s
Sent: Thursday, July 30, 2009 5:03 PM
To: pharo-project@lists.gforge.inria.fr
Subject: [Pharo-project] Debbuging problems, FFI

Hi, I'm having problems with the debugger. Every time I try to debug code that uses FFI, if I step over a message that internally does an FFI call, I get an externalCallFailed error and then I land in MethodContext(ContextPart)>>runUntilErrorOrReturnFrom:
If I run the code without debugging, then I have no problems at all.

I'm using SqueakPharo v3.11.2 with pharo0.1-10373web09.07.2.

To reproduce it you can try this:

ScriptLoader loadFFI.
then load latest GLMorphic from squeaksource, and uncomment the "self break." in
GLCanvas>>displayString:from:to:at:strikeFont:kern:

doit
World fullDrawOn: GLDisplayScreen testCanvas
hit debug and step over until you reach
ogl glTexImage2D: GLTexture2d with:...

also you'll see wrong values for local vars, like aPoint which will look as #(nil nil nil nil nil) when it'll actually have a point.

Is there any other way to set up a break point instead of adding self break to the code??

Thanks,
       Javier.

--
Javier Pim�s
Ciudad de Buenos Aires