Revolution debugger issues

J. Landman Gay jacque at hyperactivesw.com
Thu Aug 4 15:12:04 CDT 2005


On 8/4/05 4:13 AM, Dave Cragg wrote:

> For what it's worth, I never use the debugger (Rev's or MC's) when  
> working on libUrl. Unfortunately, I don't remember exactly why I gave  
> up on it. But I seem to have it fixed in my mind that the debugger  
> won't work when there are "out-of-synch" scripts running. (But I may  be 
> confusing the debugger with try-catch statements which won't work  well 
> in out-of-synch scripts). My theory (all conjecture) goes  something 
> like this:
> 
> Say you have a handler like this:
> 
>   on myHandler
>   ## some stuff
>   load url someUrl
>   ##other stuff
>   breakpoint
>  ##more stuff
>   end myHandler
> 
> In this case, the load url command will cause liburl to perform a  
> number of "read from socket with message" commands. The lines  following 
> the load url line in your handler will execute in the space  between the 
> "read" statements in libUrl and the "messages" that get  fired when the 
> reads complete.
> 
> Setting a breakpoint causes the current script to pause at the  
> breakpoint. What is less clear is what happens to other scripts that  
> may be running or waiting in the background. (read from socket with  
> message, pendingMessages, etc.) Are they halted too, or do they try  to 
> run? And if they are halted, what are the consequences? For  example, I 
> might expect a socketTimeout if a read was halted for a  long time, but 
> would this be the case if the read completed, but the  firing of its 
> associated message was held up. And if background  scripts do run at a 
> breakpoint, do their variables somehow "bump-out"  the variables being 
> shown in the variable watcher. Too much for a boy  like me to 
> contemplate. So after seeing some odd behavior in the  debugger while 
> working on libUrl (this goes back to MC 2.4.1) I gave  up on it. What I 
> do now is similar to Scott Rossi's idea of tracking  expected values at 
> various points in libUrl. I use liburl's own log  feature to trace these.
> 
> To check if this theory is valid at all, could you replace the "load  
> url" statements with "get url"? That would probably eliminate the  issue 
> of out-of-synch scripts affecting the debugger.

I think you are correct about at least some of this, as "get url" worked 
okay for me when I was battling the URL problem last week. It was just 
"load" that messed up. But I don't think libURL was the problem. Maybe 
it was Ken's variable values bug in action.

I know we've had some private discussion about this problem stack of 
mine, but these debugger quirks are happening in a stack that doesn't 
use libURL at all (I took that out of the equation for now.) So we may 
both have different problems going at the same time.


-- 
Jacqueline Landman Gay         |     jacque at hyperactivesw.com
HyperActive Software           |     http://www.hyperactivesw.com


More information about the metacard mailing list