Основные C ++ программы аварийно завершают работу VS 2008 - PullRequest
2 голосов
/ 19 января 2010

Я следую этому руководству по упаковке .lib в C ++ DLL.

Сразу после того, как я использую мастер VS для генерации проекта Win32 DLL, все компилируется просто отлично.

Затем, следуя инструкции, я заменяю этот код, сгенерированный VS:

DEMODLL_API int fnDemoDll(void)
{
    return 42;
}

для этого кода:

DEMODLL_API int fnDemoDll(int a,int b)
{
    return a+b;
}

При сборке происходит сбой IDE VS 2008 SP1.

Google обнаружил несколько хитов для этого типа сбоя, но, похоже, ничего не применимо.

В программе просмотра событий есть запись, относящаяся к сбою:

Неисправное приложение devenv.exe, версия 9.0.30729.1, отметка времени 0x488f2b50, неисправный модуль VCProjectEngine.dll, версия 9.0.30729.1, отметка времени 0x488f2e94, код исключения 0xc0000005, ошибка смещение 0x0003dd11, идентификатор процесса 0x1f80, время запуска приложения 0x01ca98d27f9c8b85.

UPDATE:

Я воссоздал проект, скомпилировал все нормально, изменил

return 42;

до

return 43;

и VS снова рухнул.

Ответы [ 2 ]

2 голосов
/ 19 января 2010

Точный код, вероятно, не имеет значения. Это сбой IDE, а не компилятор. Можете ли вы начать сборку по-другому?

0 голосов
/ 19 января 2010

У меня были похожие проблемы с моим VS 2008. Для меня произошло то, что IDE внезапно закрылась без информации.

Затем я попытался отладить IDE с помощью DebugDiag * 1004.*.Эта программа может отлаживать внешние приложения, выводить их символы, выполнять трассировку стека и т. Д. Это может быть очень полезно для подобных проблем, когда вы не представляете, что может вызвать такую ​​проблему.

Моя проблемабыла решена путем отключения Intellisense путем переименования его на новое имя (поэтому он был отключен).Ваша проблема может быть другой, но DebugDiag может помочь вам диагностировать это.

Если вы хотите попробовать отключить Intellisense и посмотреть, работает ли он для вас, попробуйте переименовать \ Microsoft Visual Studio9.0 \ VC \ vcpackages \ feacp.dll к чему-то еще и посмотрите, работает ли он.Однако это не ваша проблема.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...