TRSteep
24-12-2008, 13:47
Стала часто выходить ошибка при запуске различных программ.
Вроде из-за того устанавливаю Visual C++
ошибка следующая:
--------------
заголовок: Microsoft Visual C++ Debug library
Program: (путь к программам)
File: dbgheap.h
Line: 1011
Expression: _CrtIsValidHeapPointer(pUserData)
For information on how you program can cause an assertioon
failure, see Visual C++ documentation on asserts.
(Press Retry to debug application)
ну и клавиши
Прервать Повтор Пропустить
--------------
либо просто программа допустила ошибку. какой дебаггер выбрать (чаще в полноэкранных приложениях)
--------------
операционная система Windows 2003 Server SP2 x32 Rus
делал проверку sfc /scannow не помогло (какие то файлы восстанавливал)
память проверил MemTest+ 10 проходов. ошибок нет.
Visual Studio удалил, но его дебаггер остался...
Ошибки не исчезли...
Что делать?
Может ли это быть битый дистрибутив или какие-то несовместимости Windows?
PS
Покопавшись в гугле вот что выяснил:
Дебаг и релиз версии msvcrt.dll отличаются, и если вдруг (при использовании длл) new делается в длл, а delete в приложении (или наоборот), то гарантированны проблемы, потому что способы выделения/удаления (в дебаг и релиз версиях рантайма) будут разные, явный признак подобной ошибки: ссылка на файл dbgheap.h/dbgheap.cpp, а дальше что нибудь типа error line 1044. Для этого необходимо что бы везде (и в длл, и в приложении) стояли одинаковые версии Runtime Library (есть много вариантов: мультитреадед дебаг/мультитреадед/... ) - главное что бы они были одинаковые.
Еще что заметил поискав этот файл - он везде разный в Windows\system32 он весит 341 кб, в программах Adobe 261 кб, 3DMax 335 кб
Пробовал заменить тоже не помогло....
PPS
Материнская плата ASUS p5K.
у нее нет драйверов под 2003, есть просто папка win2k. они вроде подошли. но может не до конца....
Вроде из-за того устанавливаю Visual C++
ошибка следующая:
--------------
заголовок: Microsoft Visual C++ Debug library
Program: (путь к программам)
File: dbgheap.h
Line: 1011
Expression: _CrtIsValidHeapPointer(pUserData)
For information on how you program can cause an assertioon
failure, see Visual C++ documentation on asserts.
(Press Retry to debug application)
ну и клавиши
Прервать Повтор Пропустить
--------------
либо просто программа допустила ошибку. какой дебаггер выбрать (чаще в полноэкранных приложениях)
--------------
операционная система Windows 2003 Server SP2 x32 Rus
делал проверку sfc /scannow не помогло (какие то файлы восстанавливал)
память проверил MemTest+ 10 проходов. ошибок нет.
Visual Studio удалил, но его дебаггер остался...
Ошибки не исчезли...
Что делать?
Может ли это быть битый дистрибутив или какие-то несовместимости Windows?
PS
Покопавшись в гугле вот что выяснил:
Дебаг и релиз версии msvcrt.dll отличаются, и если вдруг (при использовании длл) new делается в длл, а delete в приложении (или наоборот), то гарантированны проблемы, потому что способы выделения/удаления (в дебаг и релиз версиях рантайма) будут разные, явный признак подобной ошибки: ссылка на файл dbgheap.h/dbgheap.cpp, а дальше что нибудь типа error line 1044. Для этого необходимо что бы везде (и в длл, и в приложении) стояли одинаковые версии Runtime Library (есть много вариантов: мультитреадед дебаг/мультитреадед/... ) - главное что бы они были одинаковые.
Еще что заметил поискав этот файл - он везде разный в Windows\system32 он весит 341 кб, в программах Adobe 261 кб, 3DMax 335 кб
Пробовал заменить тоже не помогло....
PPS
Материнская плата ASUS p5K.
у нее нет драйверов под 2003, есть просто папка win2k. они вроде подошли. но может не до конца....