14
votes

I am getting this error all of a sudden and I don't know why. I have to restart VS2010 everytime I make change to the code because apparently it locks the pdb files.

1>LINK : fatal error LNK1201: error writing to program database 'C:\code\MyProject\Debug\MyProject.pdb'; check for insufficient disk space, invalid path, or insufficient privilege

Even if I clean the project it doens't delete this file. I have tried the solution proposed here by Toni but it didn't work for me either. When add path to pre-build like he has suggested I get the following error:

1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(103,5): error MSB3073: The command "C:\Program Files (x86)\Microsoft Visual Studio 10.0\freepdb MyProject 1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(103,5): error MSB3073: :VCEnd" exited with code 9009.

5
Sounds like the debug service is not closing or releasing the pdb file. May need to install it again.Captain Obvlious
The solution is described in the answer to this question.AlainD

5 Answers

8
votes

The culprit was deleaker that I had installed to detect memory leak and it looks like it was holding up the debugger/pdb files. After uninstalling my problem is fixed.

3
votes

I have faced similar problem when I worked with single pdb file in two Visual Studio versions. Closing one visual studio version solved the problem.

3
votes

It worked for me when I closed ProcessExplorer (sysinternal tool procexp64.exe) which I was using to check number of thread memory usage. Search that file and then close it.

enter image description here

[Update]: You can also use Windows "Task Manager" as efficiently as "Process Explorer of Sysinternal" to locate any zombie handles. Task Manager | Performance | Open Resource Monitor | CPU |Associated Handles | search -> enter image description here

1
votes

I faced the similar issue and the reason for me was windbg was holding all the pdb files,so when the visual studio was trying to create new fresh pdb files it was unable to overwrite old files as these were being use by windbg.

So the obvious problem is when ever Visual studio is unable to overwrite the existing files with a new output files it outputs the following error.

0
votes

Your antivirus is blocking the write access. Please unblock the folder protection