> Why to put some BP in on the suspended ones ? I meant : Why to put some BP only in the suspended ones ?
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. 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. > > Frédéric THOMAS > > > Date: Wed, 30 Apr 2014 15:37:38 +0400 > > From: alexander.doros...@jetbrains.com > > To: dev@flex.apache.org > > Subject: Re: [FDB] Integration > > > > On 30.04.2014 14:14, Frédéric THOMAS wrote: > > > 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! > > 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? > > > 2- New feature: Automaticaly set back the breakpoints, watches and > > > displays when another instance of the worker is created and the "-ide" > > > argument is passed to FDB > > The feature needs to be thoroughly thought over. There are too many > > cases to keep in mind: > > - '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 > > - if 'break' command is followed by the file name then still there are a > > lot of cases: > > - definitely fdb should try to find this file in the current worker and > > set breakpoint if found > > - 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. > > - 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. > > > > BTW IntelliJ uses only breakpoints, no watches and displays. > > > > > 3- In the Falcon repo, merge FDB with its classes using the Falcon AST > > > > > > Any comments are welcome. > > > > > > Frédéric THOMAS > > > > > > [1] https://issues.apache.org/jira/browse/FLEX-34291 > > > [2] https://issues.apache.org/jira/browse/FLEX-34292 > > [1] > > Apache fdb (Flash Player Debugger) [build 20140430] > > Copyright 2013 The Apache Software Foundation. All rights reserved. > > (fdb) run > > Waiting for Player to connect > > Player connected; session starting. > > Set breakpoints and then type 'continue' to resume the session. > > (fdb) c > > [SWF] C:\work\flex_projects\MP3Worker\bin-debug\MP3Worker.swf - 175а169 > > bytes after decompression > > [WorkerCreate] 1 > > Additional ActionScript code has been loaded from a SWF or a frame. > > To see all currently loaded files, type 'info files'. > > Active worker has changed to worker 1 > > > > Set additional breakpoints as desired, and then type 'continue'. > > (fdb) c > > [SWF] C:\work\flex_projects\MP3Worker\bin-debug\MP3Worker.swf - 493а264 > > bytes after decompression > > halt > > Do you want to attempt to halt execution? (y or n) y > > Attempting to halt. > > To help out, try nudging the Player (e.g. press a button) > > Execution halted at 0x00009aeb (39659) > > (fdb) worker 0 > > Active worker has changed to worker Main Thread > > (fdb) halt > > Attempting to suspend Player execution... > > Player stopped > > (fdb) info workers > > Main Thread 0 - Suspended (Active) > > Worker 1 - Suspended > > (fdb) break BackWorker.as:30 > > Breakpoint 1: file MP3Worker.as, line 30 // WRONG FILE > > >