ВИПРАВЛЕННЯ: З'являється на "неприпустимий сторінкою в модулі MSVCRT. DLL"повідомлення про помилку після інсталяції з Visual C++ 6.0 на бібліотеки


Причини


Після інсталяції бібліотеку часу виконання мови С (Msvcrt. dll) із середовища Visual C++ 6.0 на комп'ютері, програми, які було запущено правильно збоїв, так і застосунок помилку приблизно такого вигляду з'явиться:
< назва "програми" >, причиною є неправильний сторінкою в модулі MSVCRT. DLL в XXXX:XXXXXXXX.

Причина


Один з можливих причин цієї помилки є, що застосунок написано останніх блок пам'яті, який належить до певного об'єкта. Блок малий heapmemory менеджера, який постачається з бібліотек середовища виконання Visual C++ 6.0 включає в себе динамічної пам'яті керування структур, в невеликих блок-динамічної пам'яті. Перезаписування блок пам'яті, зміни невеликий блок пам'яті й адреси, що впливає він погано вказівника та, можливо, збій у Msvcrt. dll, коли курсор є посилання.

Вирішення


Постачальники застосунків, необхідно переконатися, що застосунки використовують виконання C з невеликий, заблокованих динамічної пам'яті належним чином.

Для клієнтів, які зазнають цієї проблеми у своїх сторонніх програм, корпорація Майкрософт випустила до нового часу виконання мови C бібліотека динамічного компонування (DLL), Msvcrt. dll, який реалізує два динамічної пам'яті, менеджери: Visual C++ менеджер версії 5.0 сумісні пам'яті та Visual C++ версії 6.0 сумісна пам'яті менеджера. Msvcrt. dll визначає, яку версію Visual C++ застосунок побудована з а також використовує менеджера відповідної пам'яті для цієї програми. Якщо Visual C++ 6.0 або пізнішої версії, використовується Visual C++ 6.0 сумісна пам'яті менеджера; Якщо попередні версії 6.0, ніж версія, використовується в Visual C++ 5.0 сумісні динамічної пам'яті.

Visual Studio 6.0, користувачів, можна отримати файлу Msvcrt. dll, інсталювавши останню Microsoft Visual Studio пакет оновлень. Якщо ви не використовуєте Visual Studio, повторно інсталюйте оновлення бібліотеки корпорація Майкрософт; щоб отримати додаткові відомості див. таку статтю бази знань Microsoft Knowledge Base:
197298 оновлення для Microsoft бібліотеки: що, де, чому

Стан


Корпорація Майкрософт підтвердила існування цієї неполадки у продуктах Майкрософт, перелічених у розділі "Застосовується до".

Це помилка, було виправлено у Visual Studio 6.0 з пакетом оновлень 3.
Щоб отримати додаткові відомості про пакети оновлень Visual Studio клацніть номер статті в базі знань Microsoft Knowledge Base:

194022 visual Studio 6.0 служба пакетів, що, де, чому

194295 як визначити, що інстальовано пакет оновлень Visual Studio

Додаткові відомості


Розподіли, які мають менше за 1 КБ розмір складається з невеликий блок-динамічної пам'яті. Помилки з такого роду може змінитися у старіших версіях бібліотеки C виконання через те, що структури керування, які розміщуються в різних та окремих місці в пам'яті. Часто ці типи кодування помилки спричинити пошкодження блоку пам'яті та, можливо, завершує роботу. Під час використання бібліотеки Visual C++ 6.0 C Runtime, послідовність подій, які призводять до порушення прав доступу, відрізняються.

Ці типи проблем можна керувати за допомогою налагодження-динамічної пам'яті. Перегляньте документацію, що під назвою "За допомогою налагодження-динамічної пам'яті". Потрібно активувати налагодження-динамічної пам'яті за номером _CrtSetDbgFlag (_CRTDBG_ALLOC_MEM_DF | _CRTDBG_CHECK, _ALWAYS_DF) під час ініціалізації побудувати налагодження застосунку.