LNK1201 на Visual C ++ 2003 - PullRequest
       7

LNK1201 на Visual C ++ 2003

4 голосов
/ 21 июля 2011

В результате я продолжаю получать это сообщение об ошибке после каждого запуска отладки, который я выполнял на любом из моих проектов в VS2003.Я просмотрел многие форумы, и все они дают ответ, который не соответствует реальной проблеме.

ССЫЛКА: фатальная ошибка LNK1201: ошибка записи в базу данных программы 'd: \ Coding \ Flyff \ Projects\ GUI System 20110721 \ Debug \ GUI System 20110721.pdb ';проверка на недостаточное дисковое пространство, неверный путь или недостаточные права доступа

Я использую Windows 7 Ultimate x64 с Visual Studio 2003 .NET (пакет обновления VS7.1sp1-KB918007-X86.exe).

Что я уже пробовал:

  • Запуск в совместимом режиме для нескольких других операционных систем и пакетов обновления.
  • Установить разрешение на запись в папки проекта.
  • Запустите Visual Studio от имени администратора.
  • Отредактирован формат информации отладки в нескольких других форматах.

Чтобы воспроизвести эту ошибку, у вас должна быть Windows 7 x64 (возможно, Ultimate).Visual Studio 2003 (с обновлением VS7.1sp1-KB918007-X86.exe).

У меня более 150 ГБ места, поэтому он не имеет к этому никакого отношения.

Visual Studio просто блокирует PDBфайл при отладке, и после отладки он не может разблокировать его.

Вы также должны запустить фрагмент кода, который выполняется в течение нескольких секунд, например:

int APIENTRY WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine,     int nCmdShow )
{
    Sleep( 5000 );
    MessageBox( NULL, "Test", "", 0 );
    return 0;
}

Надеюсь, у кого-нибудь естьрешение, так как в настоящее время я должен использовать эту конфигурацию среды.

Cheers, Nicco.

Ответы [ 6 ]

3 голосов
/ 10 мая 2013

Я наконец нашел решение этой проблемы, которое мучило меня довольно давно:

1) Загрузите и установите LockHunter (бесплатная утилита для разблокировки заблокированных файлов):

http://lockhunter.com/download.htm

2) Добавьте каталог установки LockHunter в переменную окружения «path», чтобы избежать раздражающего всплывающего окна с правами администратора при каждом запуске утилиты. Для меня (с использованием версии x64) это было:

"C:\Program Files\LockHunter"

3) Добавьте следующее событие предварительной сборки в проект Visual Studio, в котором возникла проблема:

"LockHunter.exe /silent /unlock $(TargetDir)$(TargetName).pdb"
1 голос
/ 21 июля 2011

Единственный раз, когда я сталкиваюсь с этой проблемой с VS2003, это когда он падает во время сеанса отладки. Обычно проблему можно устранить, перезапустив VS. Если это не сработает, вам нужно перезапустить службу отладчика, а в некоторых случаях Windows.

Вы можете попробовать добавить следующее в командную строку события предварительной сборки

net stop "Machine Debug Manager"
net start "Machine Debug Manager"

Поскольку VS или менеджер отладки хранят файл заблокированным, я боюсь, что эта проблема вызвана гораздо более глубокой проблемой. Существует большая вероятность того, что в вашей установке VS существует проблема или , существует другая служба или приложение, из-за которой диспетчер отладки и / или VS ведут себя плохо.

0 голосов
/ 12 февраля 2019

Была аналогичная проблема в Windows 10. Этот ответ предоставляет решение с использованием инструмента под названием FreePDB.

0 голосов
/ 19 декабря 2015

Ни один из приведенных выше ответов не работает в моем случае, но, наконец, я нашел свое решение.

Когда масштаб проекта увеличивается, а размер файла ". Pdb" превышает 300 МБ, возникает ошибка. Я изменяю свойства отладочной информации в моем проекте и успешно компилирую его. Вам просто нужно изменить «Формат информации отладки» в вашем проекте на «C7-совместимый (/ Z7)» по следующему пути.

Свойства конфигурации >> C / C ++ >> Общие >> Отладочная информация Формат

0 голосов
/ 07 мая 2014

У меня такой же инссеум с winXP SP3 и VS C ++ 2010 Express, и я решил изменить разрешения на доступ к папке MyProject, сняв флажок «только для чтения» и применить ко всем папкам, подпапкам и файлам.

0 голосов
/ 30 апреля 2014

Я столкнулся с этой ошибкой в ​​VS2010 и попытался исправить ее, используя методы, предложенные на форумах, но у меня они никогда не работали. В конце я вышел из VS2010 и перезапустился с правами администратора, и это помогло!

...