Also useful for "quick and dirty" debugging with concurrent processes:

  OSProcess trace: 'my debugging note'

This prints to console, identifying the process, receiver, method, and
whatever additional notes you may want to add.

Dave

On Wed, Apr 03, 2019 at 07:34:22AM +0200, Tudor Girba wrote:
> Instead of printing, you can also use Beacon. We actually developed Beacon 
> specifically to be able to debug a parallel distributed system.
> 
> Cheers,
> Doru
> 
> > On Apr 2, 2019, at 11:56 PM, Ben Coman <b...@openinworld.com> wrote:
> > 
> > 
> > On Tue, 2 Apr 2019 at 23:36, ducasse <steph...@netcourrier.com> wrote:
> > I???m inherently race condition incompatible and just avoid concurrent 
> > programming because I???m too dull on this. 
> > 
> > I've solved a few Pharo race conditions before, so just a tip (that you 
> > maybe already know).
> > You can't troubleshoot a race condition by standard debugging, because it 
> > alters the timing.
> > Best that I've done before is resorting to plain old print-line tracing 
> > between every line of the suspect code,
> > or the equivalent threadsafe collection if its not a hard crash.
> > e.g....
> > someMethod
> >     threadsafeCollection add: "methodname-A" , testCondition
> >     original method line 1
> >     threadsafeCollection add: "methodname-B", testCondition
> >     original method line 2
> >     threadsafeCollection add: "methodname-C", testCondition
> > 
> > and then looking for cyclic patterns in that data and breaks in those 
> > patterns.
> > 
> > I can have a look in a few weeks.  Right now working 13 hour days to the 
> > end of the week
> > and then vacationing in China for 10 days.
> >      
> 
> --
> www.feenk.com
> 
> "Sometimes the best solution is not the best solution."
> 

Reply via email to