[Lazarus] Can't create executable

Sven Barth pascaldragon at googlemail.com
Sat Jul 10 11:22:21 CEST 2010


Hi!

On 10.07.2010 10:40, Frank Church wrote:
>
>
> There are some ttimes when something seems to have locked the executable
> and it can't be created until the computer is restarted.
> I have come across this issue a few times and it is happening again. I
> upgraded to 9.28.3 beta and FPC 2.4.0 but the problem still exists.
>
> Is there some more information on this issue?
>
> --
> Frank Church

That normally means that some process is still accessing the executable 
(it might be the application itself or the debugger).

Do you use Windows? If so, you can try the following steps (each step 
should be tried separately):

- Try to use "Start->Reset debugger" (or similar - I use the German 
version) in Lazarus.
- Restart the Lazarus IDE.
- Open the Task Manager and go to the "Processes" tab. There you can 
look whether you find the name of the executable of your application. 
You should kill that process.
- You can download the "Process Explorer" from Microsoft ( 
http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx ). When 
running it you can search for open handles to your application's 
executable (it should be "Find->Open Handle or DLL", but I can't check 
currently, cause I'm at my Linux computer) where you enter your 
application's binary name (including the ".exe"). If your application is 
found you might try to kill the process that has this open handle (but 
please don't try to kill anything that sounds important like csrss.exe 
or srvhost.exe). If this process was explorer.exe you can restart it 
from the "File->Run" menu (or you won't have a taskbar ^^).
- If this also does not help you need to restart your computer. :(

On Linux I've never experienced such a problem, but steps 1 to 3 could 
also help there (in step 3 you need to use an equivalent to Task Manager 
like htop). Step 4 can be replaced with using lsof (list-open-files) 
combined with grep. That combination can point you to the process that 
uses your binary.

Regards,
Sven




More information about the Lazarus mailing list