Nuclear dawn 6.9.3 ошибка ntdll.dll решение

Не так давно я столкнулся с одной, достаточно редко встречающейся в моей практике, ошибкой. Она носит название "Ошибка при запуске приложения (0xc000007b)" и влечет за собой отказ в запуске приложения в операционной системе Windows. Проще говоря, некоторые приложения перестают запускаться, либо всё же запускаются, но с вероятностью ниже 100%. Щелкаешь в проводнике по имени запускного exe-модуля, либо пытаешься запустить исполняемый файл из командной строки, и наблюдаешь следующую картину: Забавно, но что то в этой ошибке c000007b показалось мне знакомым, моя дырявая долговременная память сохранила смутные образы подобных проблем еще с незапамятных времен, при этом не оставив никаких ясных обстоятельств.

К сожалению, проблемную систему необходимо было "поднимать" в кратчайшие сроки, поэтому не было возможности продолжить детальное изучение, и позже я вынужден был воспроизводить ошибку на другой, абсолютно здоровой системе. Данная статья представляет собой теоретические выкладки по исследованию загрузчика образов операционной системы Windows.

Изучение проводилось с целью создать базис для предполагаемого дальнейшего изучения особенностей кода загрузчика. На данный момент рекомендаций по исправлению ошибки c000007b в данной статье не предоставлено, поскольку практика показала неоднозначность возвращаемых утилитами Dependency Walker и Process Monitor результатов. Для начала давайте посмотрим, что же нам сообщают разработчики об ошибке со статусом c000007b на официальной странице значений NTSTATUS?

Ошибка носит символическое имя (НЕКОРРЕКТНЫЙ ФОРМАТ ОБРАЗА), а в описании к ней присутствует следующая формулировка: "Образ либо не предназначен для выполнения в Windows или содержит ошибку..", ну и далее даются общие рекомендации. Как всегда, довольно пространное определение, не содержащее в себе значимых подробностей, однако уже позволяющее нам сделать как минимум два предположения: ошибка может содержаться в служебных структурах заголовка основного запускаемого модуля (exe-файл) | ошибка может содержаться в подключаемых образах (dll-библиотеках).

Одним словом, это утверждение о повреждении структуры исполняемого образа требует проверки и аргументации!! В свою очередь, для проверки следовало бы отследить, какой именно код ядра и на каком этапе выводит данное сообщение.



Теги: nuclear, dawn, 6.9.3, ошибка, ntdll.dll, решение

Оставить комментарий