I just tried letting all the script files load separately from the startup directory. Here's what I found. Please correct me if I've got it wrong or am doing it the hard way:
1) You can step into a file that didn't have a debugger; call in it from another file. That works.
2) You can't set a breakpoint in a file without a debugger; call in it until you have stepped into it from a different file. Then, and only then, the breakpoint will work.
So, if I've done this right, here's the summary:
If you want to startup your program and have it stop on a breakpoint you set, you have to have a "debugger;" command in the file you set the breakpoint in. BTW, I've found this is also true for dynamically loaded scripts. You can't set breakpoints in them without them containing a "debugger;" command.
It appears that the debugger won't recognize a breakpoint until the debugger has "seen" that source file via either a "debugger;" command or via stepping into it. I'm hoping this is a bug that can be fixed because this is quite inconvenient when debugging a multi-file script. It means that I either have to have a "debugger;" command in every file (so that I can set a breakpoint anywhere) or I have to be constantly turning them on and off with editing everytime I want to set a breakpoint in a different file. Not impossible to manage, but a lot more inconvenient than it could/should be.
On a separate note, does this feedback get to the actual ExtendScript team?
--John