[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [cdt-dev] NT Launch/Build Abort
|
>
>
> Hi!
>
> No patch this time since I'm sure the build model in the head is too far
> away from 1.0.1 for the patch to be useful and many of the changes were in
> Tensilica specific launchers. Never-the-less I did want to take a moment to
> mention an issue we hit in usability testing with debugging and building on NT.
>
> The basic problem has to do with gdb and the NT filesystem. While gdb is
> running it keeps an open file descriptor to the executable. NT will not let
> you remove or modify a file that is presently opened. This causes makefiles
> run on NT to be unable to write an executable. The message that the linker
> outputs does not lead you to the conclusion "this was because I've got an
> open launch on this exe in a perspective that's currently not even visible."
>
> We added a scan of the running launches to the builder and if any launches
> are involved with the project being built then we give the user a choice
> between terminating the launches or continuing the build.
>
> Perhaps this issue just affects our tools, but I suspect it's not unique to
> us. As you look at the build model on the head, please do keep this
> "exclusive" nature of the NT file system in mind. You can't build and debug
> at the same time and the user does get confused about the build failures
> this causes.
>
Some other possibilities:
- It is a little vague in my memory, but I do remember that you can tell gdb
not to hold a write access when debugging. Not sure it that will solve the problem.
- Another possibility is to create a Session property on the project
that the builder could check before building.
- The debugger could make a copy of the executable before running.
But all the solutions are messy and you do not want to push this
on other platform less brain-d^H^H^H^H^H^H^H .. susceptible to this behaviour.