> You are right, suspending all running workers that contain the file,
> setting breakpoint there (and probably resuming?) seems to be the best.

Sure resuming it if I halted it.

> Unfortunately some workers may fail to suspend if they are doing
> nothing. In the latter case breakpoint could be remembered and set when
> worker gets anything to do.

If you have an example of that behavior, give it to me please as I guess in 
that case, I can still set the BP, etc.. without the need to halt it or to be 
more precise after it failed to halt.

Frédéric THOMAS

> Date: Wed, 30 Apr 2014 19:15:32 +0400
> From: alexander.doros...@jetbrains.com
> To: dev@flex.apache.org
> Subject: Re: [FDB] Integration
> 
> On 30.04.2014 17:30, Frédéric THOMAS wrote:
> >> Why to put some BP in on the suspended ones ?
> > I meant : Why to put some BP only in the suspended ones ?
> You are right, suspending all running workers that contain the file,
> setting breakpoint there (and probably resuming?) seems to be the best.
> Unfortunately some workers may fail to suspend if they are doing
> nothing. In the latter case breakpoint could be remembered and set when
> worker gets anything to do.
> > Also, the compiled FDB attached to the fixed issue is more up to date than 
> > the last one I sent you, I re-applied the mxml BP fix on it.
> That's what I played with.
> 
> Alexander
> > Frédéric THOMAS
> >
> >> From: webdoubl...@hotmail.com
> >> To: dev@flex.apache.org
> >> Subject: RE: [FDB] Integration
> >> Date: Wed, 30 Apr 2014 14:21:45 +0100
> >>
> >>>> I created 2 tickets [1] for the merge, [2] for the fix, I 
> >> attached it the fixed FDB. Main thread with the target file is not 
> >> paused
> >>> Switching workers when VM is paused after new worker creation seems to 
> >>> work now, that' great!
> >>> Setting a breakpoint to the file that is not loaded yet and will be 
> >>> loaded later by a new worker also seems to work, that's even more cool!
> >>
> >> Yep :-)
> >>
> >>> I still see the issue with setting a breakpoint in incorrect file when 
> >>> all workers are loaded but the file belongs to non active one. See [1]
> >>>> Next steps:
> >>>> 1- Fix the bad message when a file is not found
> >>> What do you mean?
> >>
> >> It seems I meant just what you said:
> >>> I still see the issue with setting a breakpoint in incorrect file when 
> >>> all workers are loaded but the file belongs to non active one. See [1]
> >>
> >> But I reduced my sentence to the message:
> >>> Breakpoint 1: file MP3Worker.as, line 30 // WRONG FILE
> >>
> >>>> BTW IntelliJ uses only breakpoints, no watches and displays.
> >>
> >> I will still need to apply the same logic to each potential command that 
> >> could have the same issue.
> >>
> >>> - 'break' command may be called with file name or with file id. If it is 
> >>> called with file id then probably the right thing is to apply the 
> >>> command to the current worker only
> >>
> >> Good point, I keep that !
> >>
> >>> - the same file may belong to several workers. So probably fdb should 
> >>> iterate all suspended workers and try to set the breakpoint for all that 
> >>> contain this file.
> >>
> >> I would have suspended all workers instead and place a BP in each if it 
> >> belongs to.
> >> Why to put some BP in on the suspended ones ?
> >>
> >>> - new workers that contain this file may appear later. And each existing 
> >>> worker that doesn't contain the file may get new bytecode loaded with 
> >>> this file. So despite of the result of the previous attempts fdb should 
> >>> remember the breakpoint location and try to set it for all new workers 
> >>> that appear later. Also each time when new code is loaded fdb should try 
> >>> to set breakpoint again for each existing worker that didn't contain the 
> >>> file before.
> >>
> >> Yep, was my goal too.
> Cool!
                                          

Reply via email to