Как исправить ошибку external exception c0000006

What you need to do is tell windows to load your whole program into memory, rather than allowing it to demand load pages when it needs to. I have done this successfully for applications running off a CD. I don’t have the code with me right now, but I recall that I found hints on how to do it in source for the fantastic open source install program Inno Setup.

Edit: Actually, after doing a little research, you can use a Delphi compiler directive to tell windows to load the full executable. This works if you have Delphi > 2006. This will have the effect that you will never get the external exception.

Put this line in your applications project file:

{$SetPEFlags IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP}

This tells windows that the executable is going to be used from removable media, so load the the executable into memory (or the swap file). Then you don’t need to worry about things like copying the file to the machine first, etc.

Edit 2: I currently have access to Delphi 7 and I can confirm, as noted by others, that this also works with Delphi 7 (and likely Delphi 6) with the following code:

const
  IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP = $0400;

{$SetPEFlags IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP}

For Delphi < 6, you can go down the path of forcing the executable to be paged in. There is an example of how to do it in C++ here (unless you find a way to modify the PE header flags after link time, which looks to be complicated)

N@

Microsoft (R) Windows Debugger Version 10.0.10586.567 AMD64
Copyright (c) Microsoft Corporation. All rights reserved.

Loading Dump File [C:UserstfcorDesktopCase1CrashDumpsGSI.exe.2204.dmp]
User Mini Dump File: Only registers, stack and portions of memory are available

************* Symbol Path validation summary **************
Response Time (ms) Location
Deferred srv*C:Symbols*http://msdl.microsoft.com/download/symbols
Symbol search path is: srv*C:Symbols*http://msdl.microsoft.com/download/symbols
Executable search path is:
Windows 10 Version 14393 MP (4 procs) Free x86 compatible
Product: WinNt, suite: SingleUserTS Personal
Built by: 10.0.14393.0 (rs1_release.160715-1616)
Machine Name:
Debug session time: Fri Sep 2 15:09:27.000 2016 (UTC + 3:00)
System Uptime: not available
Process Uptime: 0 days 0:00:06.000
…………………………………………………….
Loading unloaded module list
.
This dump file has an exception of interest stored in it.
The stored exception information can be accessed via .ecxr.
(89c.d8c): In-page I/O error ffffffffc0000242 — code c0000006 (first/second chance not available)
*** WARNING: Unable to verify timestamp for KERNELBASE.dll
*** ERROR: Module load completed but symbols could not be loaded for KERNELBASE.dll
eax=00000000 ebx=00000000 ecx=00c7eb48 edx=1b0112be esi=00000003 edi=00000003
eip=774ce1bc esp=00afd4b8 ebp=00afd648 iopl=0 nv up ei pl nz na pe nc
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00000206
ntdll!NtWaitForMultipleObjects+0xc:
774ce1bc c21400 ret 14h
0:000> !analyze -v
*******************************************************************************
* *
* Exception Analysis *
* *
*******************************************************************************

*** WARNING: Unable to verify checksum for System.Windows.Forms.ni.dll
*** ERROR: Module load completed but symbols could not be loaded for System.Windows.Forms.ni.dll
*** ERROR: Symbol file could not be found. Defaulted to export symbols for clr.dll —
*** WARNING: Unable to verify timestamp for mscoreei.dll
*** ERROR: Module load completed but symbols could not be loaded for mscoreei.dll
*** WARNING: Unable to verify timestamp for mscoree.dll
*** ERROR: Module load completed but symbols could not be loaded for mscoree.dll
*** ERROR: Symbol file could not be found. Defaulted to export symbols for kernel32.dll —
*** ERROR: Symbol file could not be found. Defaulted to export symbols for ole32.dll —

************* Symbol Loading Error Summary **************
Module name Error
ole32 The system cannot find the file specified : srv*c:symbols*http://msdl.microsoft.com/download/symbols

You can troubleshoot most symbol related issues by turning on symbol loading diagnostics (!sym noisy) and repeating the command that caused symbols to be loaded.
You should also verify that your symbol search path (.sympath) is correct.
Unable to load image C:WindowsSystem32combase.dll, Win32 error 0n2
*** WARNING: Unable to verify timestamp for combase.dll
*** ERROR: Module load completed but symbols could not be loaded for combase.dll

************* Symbol Loading Error Summary **************
Module name Error
combase A connection with the server could not be established : srv*c:symbols*http://msdl.microsoft.com/download/symbols

You can troubleshoot most symbol related issues by turning on symbol loading diagnostics (!sym noisy) and repeating the command that caused symbols to be loaded.
You should also verify that your symbol search path (.sympath) is correct.
Unable to load image C:WindowsassemblyNativeImages_v4.0.30319_32mscorlib40571abae9422cd2ca6fafbbde1c3cdcmscorlib.ni.dll, Win32 error 0n2
*** ERROR: Module load completed but symbols could not be loaded for mscorlib.ni.dll

************* Symbol Loading Error Summary **************
Module name Error
mscorlib.ni A connection with the server could not be established : srv*c:symbols*http://msdl.microsoft.com/download/symbols

You can troubleshoot most symbol related issues by turning on symbol loading diagnostics (!sym noisy) and repeating the command that caused symbols to be loaded.
You should also verify that your symbol search path (.sympath) is correct.
*** WARNING: Unable to verify timestamp for GdiPlus.dll
*** ERROR: Module load completed but symbols could not be loaded for GdiPlus.dll
Unable to load image C:WindowsSystem32twinapi.appcore.dll, Win32 error 0n2
*** WARNING: Unable to verify timestamp for twinapi.appcore.dll
*** ERROR: Module load completed but symbols could not be loaded for twinapi.appcore.dll

************* Symbol Loading Error Summary **************
Module name Error
twinapi.appcore A connection with the server could not be established : srv*c:symbols*http://msdl.microsoft.com/download/symbols

You can troubleshoot most symbol related issues by turning on symbol loading diagnostics (!sym noisy) and repeating the command that caused symbols to be loaded.
You should also verify that your symbol search path (.sympath) is correct.
GetUrlPageData2 (WinHttp) failed: 12007.

DUMP_CLASS: 2

DUMP_QUALIFIER: 400

CONTEXT: (.ecxr)
eax=00afe22c ebx=00c7eb48 ecx=00c7eb48 edx=1b0112be esi=00000000 edi=1b0112be
eip=6ded0764 esp=00afe200 ebp=00afe258 iopl=0 nv up ei pl zr na pe nc
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00010246
comctl32_6ddf0000!Button_DrawTextAndGlyph:
6ded0764 ?? ???
Resetting default scope

FAULTING_IP:
comctl32_6ddf0000!Button_DrawTextAndGlyph+0
6ded0764 ?? ???

EXCEPTION_RECORD: (.exr -1)
ExceptionAddress: 6ded0764 (comctl32_6ddf0000!Button_DrawTextAndGlyph)
ExceptionCode: c0000006 (In-page I/O error)
ExceptionFlags: 00000000
NumberParameters: 3
Parameter[0]: 00000008
Parameter[1]: 6ded0764
Parameter[2]: c0000242
Inpage operation failed at 6ded0764, due to I/O error c0000242

DEFAULT_BUCKET_ID: SOFTWARE_NX_FAULT_NOSOS

PROCESS_NAME: GSI.exe

ERROR_CODE: (NTSTATUS) 0xc0000006 — <Unable to get error code text>

EXCEPTION_CODE: (NTSTATUS) 0xc0000006 — <Unable to get error code text>

EXCEPTION_CODE_STR: c0000006

EXCEPTION_PARAMETER1: 00000008

EXCEPTION_PARAMETER2: 6ded0764

EXCEPTION_PARAMETER3: c0000242

IO_ERROR: (NTSTATUS) 0xc0000242 — <Unable to get error code text>

ADDITIONAL_DEBUG_TEXT: Followup set based on attribute [Is_ChosenCrashFollowupThread] from Frame:[0] on thread:[PSEUDO_THREAD]

LAST_CONTROL_TRANSFER: from 00000000 to 00000000

WATSON_BKT_PROCSTAMP: 56d45f4f

WATSON_BKT_PROCVER: 6.1.0.51

WATSON_BKT_MODULE: comctl32.dll

WATSON_BKT_MODSTAMP: 57898e2d

WATSON_BKT_MODOFFSET: e0764

WATSON_BKT_MODVER: 6.10.14393.0

BUILD_VERSION_STRING: 10.0.14393.0 (rs1_release.160715-1616)

MODLIST_WITH_TSCHKSUM_HASH: 1190ba14ac8bfdbdc7bb18aa7f963a0df012b0fb

MODLIST_SHA1_HASH: 0fa21da89a763edf03da3ebe0effcd131904cc56

NTGLOBALFLAG: 0

APPLICATION_VERIFIER_FLAGS: 0

DUMP_FLAGS: 94

DUMP_TYPE: 1

APP: gsi.exe

MISSING_CLR_SYMBOL: 0

ANALYSIS_SESSION_HOST: ALEX-PC

ANALYSIS_SESSION_TIME: 09-02-2016 19:57:22.0087

ANALYSIS_VERSION: 10.0.10586.567 amd64fre

MANAGED_CODE: 1

MANAGED_ENGINE_MODULE: clr

MANAGED_BITNESS_MISMATCH:
Managed code needs matching platform for proper analysis. Use ‘x86’ debugger.

THREAD_ATTRIBUTES:
FAULTING_THREAD: ffffffff

THREAD_SHA1_HASH_MOD_FUNC: 105bb1fe8d5fa2aac754e116bcca7a91358e14a3

THREAD_SHA1_HASH_MOD_FUNC_OFFSET: d6166623ab2f82049e0fb29046b8624d46979834

OS_LOCALE: RUS

PROBLEM_CLASSES:

SOFTWARE_NX_FAULT
Tid [0xd8c]
Frame [0x00]: comctl32!Button_DrawTextAndGlyph

NOSOS
Tid [0xd8c]
Failure Bucketing

BUGCHECK_STR: SOFTWARE_NX_FAULT_NOSOS

STACK_TEXT:
00000000 00000000 hardware_disk!Unknown+0x0

THREAD_SHA1_HASH_MOD: 5587afe09fa730b6270ccd4de14528e196ba31e7

SYMBOL_STACK_INDEX: 0

SYMBOL_NAME: hardware_disk!Unknown

FOLLOWUP_NAME: MachineOwner

MODULE_NAME: hardware_disk

DEBUG_FLR_IMAGE_TIMESTAMP: 0

STACK_COMMAND: ** Pseudo Context ** ; kb

BUCKET_ID: SOFTWARE_NX_FAULT_NOSOS_hardware_disk!Unknown

PRIMARY_PROBLEM_CLASS: SOFTWARE_NX_FAULT_NOSOS_hardware_disk!Unknown

BUCKET_ID_OFFSET: 0

BUCKET_ID_MODULE_STR: hardware_disk

BUCKET_ID_MODTIMEDATESTAMP: 0

BUCKET_ID_MODCHECKSUM: 0

BUCKET_ID_MODVER_STR: 0.0.0.0

BUCKET_ID_PREFIX_STR: SOFTWARE_NX_FAULT_NOSOS_

FAILURE_PROBLEM_CLASS: SOFTWARE_NX_FAULT_NOSOS

FAILURE_EXCEPTION_CODE: c0000006

FAILURE_IMAGE_NAME:

FAILURE_FUNCTION_NAME:

FAILURE_SYMBOL_NAME: hardware_disk!Unknown

FAILURE_BUCKET_ID: SOFTWARE_NX_FAULT_NOSOS_c0000006_hardware_disk!Unknown

WATSON_STAGEONE_URL: http://watson.microsoft.com/StageOn…3.0/57898e2d/c0000006/000e0764.htm?Retriage=1

TARGET_TIME: 2016-09-02T12:09:27.000Z

OSBUILD: 14393

OSSERVICEPACK: 0

SERVICEPACK_NUMBER: 0

OS_REVISION: 0

SUITE_MASK: 768

PRODUCT_TYPE: 1

OSPLATFORM_TYPE: x86

OSNAME: Windows 10

OSEDITION: Windows 10 WinNt SingleUserTS Personal

USER_LCID: 0

OSBUILD_TIMESTAMP: 2016-07-16 04:33:42

BUILDDATESTAMP_STR: 160715-1616

BUILDLAB_STR: rs1_release

BUILDOSVER_STR: 10.0.14393.0

ANALYSIS_SESSION_ELAPSED_TIME: 178e20

ANALYSIS_SOURCE: UM

FAILURE_ID_HASH_STRING: um:software_nx_fault_nosos_c0000006_hardware_disk!unknown

FAILURE_ID_HASH: {97d83bdb-ab34-63cd-695e-2191a09fa0a2}

Followup: MachineOwner
———

How to fix the issue reported by «error code external exception c0000006»

Special Offer

Instructions

The following steps should fix the external exception c0000006 issue:

  • Step 1.Download Outbyte PC Repair application See more information about Outbyte uninstall instructions EULA Privacy Policy
  • Step 2.Install and launch the application
  • Step 3.Click the Scan Now button to detect issues and abnormalities
  • Step 4.Click the Repair All button to fix the issues
Compatibility Win 11, 10, 8, 7
Download Size 21.2 MB
Requirements 300 MHz Processor, 256 MB RAM, 50 MB HDD

Limitations: trial version offers an unlimited number of scans, backups and restores of your Windows system elements for free. Registration for the full version starts from USD 29.95.

Installation: When you install software, it gives our advertisers a chance to speak to you. ALL OFFERS ARE OPTIONAL. There is no obligation to accept. Simply choose to decline the offer if you are not interested. If you are interested and choose to accept, you’ll help us to offer more software in the future. Again, there is no obligation to accept any offers. You have the option to decline all advertisements and still install and use the software for free.

Web Companion is your first line of defence. With hundreds of thousands of new virus strands created every day, Ad-Aware Web Companion is the perfect complement to your antivirus and web browser security.

A malfunction reported by «error code external exception c0000006» may happen due to a number of different factors. Common causes include incorrectly configured system settings or irregular entries in the system elements, to name a few. Such issues may be resolved with special software that repairs system elements and tunes system settings to restore stability.

The article provides details on what the issue means, potential causes, and ways to resolve the issue.

  • 1Meaning of the «error code external exception c0000006»
  • 2Causes of the «error code external exception c0000006»
  • 3Ways to repair the «error code external exception c0000006»

Meaning of the «error code external exception c0000006»

«Error code external exception c0000006» is an issue name that usually contains details of the malfunction, including why it occurred, which system component or application malfunctioned, along with some other information. The numerical code in the issue name usually contains data that can be deciphered by the manufacturer of the component or application that malfunctioned. The issue with using this code may occur in many different locations within the system, so even though it carries some details in its name, it is still difficult for a user to pinpoint and fix the issue cause without specific technical knowledge or appropriate software.

Causes of the «error code external exception c0000006»

If you have received this warning on your PC, it means that there was a malfunction in your system operation. «Error code external exception c0000006» is one of the issues that users get as a result of the incorrect or failed installation or uninstallation of software that may have left invalid entries in your system elements, improper system shutdown due to a power failure or another factor, someone with little technical knowledge accidentally deleting a necessary system file or system element entry, as well as a number of other causes.

Ways to repair the «error code external exception c0000006»

For an immediate fix of such issues, advanced PC users may be able to repair it by manually editing system elements, and others may want to hire a technician to do it for them. However, since any manipulations with Windows system elements carry a risk of rendering the operating system unbootable, whenever a user is in any doubt of their technical skills or knowledge, they should use a special type of software that is meant to repair Windows system elements without requiring any special skills from the user.

The following steps should help fix the issue:

  • Download Outbyte PC Repair application Special offer. See more information about Outbyte uninstall instructions EULA Privacy Policy
  • Install and launch the application
  • Click the Scan Now button to detect potential issue causes
  • Click the Repair All button to fix found abnormalities

The same application can be used to run preventative measures to reduce the chance of this or other system issues appearing in the future.

Microsoft (R) Windows Debugger Version 10.0.10586.567 AMD64
Copyright (c) Microsoft Corporation. All rights reserved.

Loading Dump File [C:UserstfcorDesktopCase1CrashDumpsGSI.exe.2204.dmp]
User Mini Dump File: Only registers, stack and portions of memory are available

************* Symbol Path validation summary **************
Response Time (ms) Location
Deferred srv*C:Symbols*http://msdl.microsoft.com/download/symbols
Symbol search path is: srv*C:Symbols*http://msdl.microsoft.com/download/symbols
Executable search path is:
Windows 10 Version 14393 MP (4 procs) Free x86 compatible
Product: WinNt, suite: SingleUserTS Personal
Built by: 10.0.14393.0 (rs1_release.160715-1616)
Machine Name:
Debug session time: Fri Sep 2 15:09:27.000 2016 (UTC + 3:00)
System Uptime: not available
Process Uptime: 0 days 0:00:06.000
…………………………………………………….
Loading unloaded module list
.
This dump file has an exception of interest stored in it.
The stored exception information can be accessed via .ecxr.
(89c.d8c): In-page I/O error ffffffffc0000242 — code c0000006 (first/second chance not available)
*** WARNING: Unable to verify timestamp for KERNELBASE.dll
*** ERROR: Module load completed but symbols could not be loaded for KERNELBASE.dll
eax=00000000 ebx=00000000 ecx=00c7eb48 edx=1b0112be esi=00000003 edi=00000003
eip=774ce1bc esp=00afd4b8 ebp=00afd648 iopl=0 nv up ei pl nz na pe nc
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00000206
ntdll!NtWaitForMultipleObjects+0xc:
774ce1bc c21400 ret 14h
0:000> !analyze -v
*******************************************************************************
* *
* Exception Analysis *
* *
*******************************************************************************

*** WARNING: Unable to verify checksum for System.Windows.Forms.ni.dll
*** ERROR: Module load completed but symbols could not be loaded for System.Windows.Forms.ni.dll
*** ERROR: Symbol file could not be found. Defaulted to export symbols for clr.dll —
*** WARNING: Unable to verify timestamp for mscoreei.dll
*** ERROR: Module load completed but symbols could not be loaded for mscoreei.dll
*** WARNING: Unable to verify timestamp for mscoree.dll
*** ERROR: Module load completed but symbols could not be loaded for mscoree.dll
*** ERROR: Symbol file could not be found. Defaulted to export symbols for kernel32.dll —
*** ERROR: Symbol file could not be found. Defaulted to export symbols for ole32.dll —

************* Symbol Loading Error Summary **************
Module name Error
ole32 The system cannot find the file specified : srv*c:symbols*http://msdl.microsoft.com/download/symbols

You can troubleshoot most symbol related issues by turning on symbol loading diagnostics (!sym noisy) and repeating the command that caused symbols to be loaded.
You should also verify that your symbol search path (.sympath) is correct.
Unable to load image C:WindowsSystem32combase.dll, Win32 error 0n2
*** WARNING: Unable to verify timestamp for combase.dll
*** ERROR: Module load completed but symbols could not be loaded for combase.dll

************* Symbol Loading Error Summary **************
Module name Error
combase A connection with the server could not be established : srv*c:symbols*http://msdl.microsoft.com/download/symbols

You can troubleshoot most symbol related issues by turning on symbol loading diagnostics (!sym noisy) and repeating the command that caused symbols to be loaded.
You should also verify that your symbol search path (.sympath) is correct.
Unable to load image C:WindowsassemblyNativeImages_v4.0.30319_32mscorlib40571abae9422cd2ca6fafbbde1c3cdcmscorlib.ni.dll, Win32 error 0n2
*** ERROR: Module load completed but symbols could not be loaded for mscorlib.ni.dll

************* Symbol Loading Error Summary **************
Module name Error
mscorlib.ni A connection with the server could not be established : srv*c:symbols*http://msdl.microsoft.com/download/symbols

You can troubleshoot most symbol related issues by turning on symbol loading diagnostics (!sym noisy) and repeating the command that caused symbols to be loaded.
You should also verify that your symbol search path (.sympath) is correct.
*** WARNING: Unable to verify timestamp for GdiPlus.dll
*** ERROR: Module load completed but symbols could not be loaded for GdiPlus.dll
Unable to load image C:WindowsSystem32twinapi.appcore.dll, Win32 error 0n2
*** WARNING: Unable to verify timestamp for twinapi.appcore.dll
*** ERROR: Module load completed but symbols could not be loaded for twinapi.appcore.dll

************* Symbol Loading Error Summary **************
Module name Error
twinapi.appcore A connection with the server could not be established : srv*c:symbols*http://msdl.microsoft.com/download/symbols

You can troubleshoot most symbol related issues by turning on symbol loading diagnostics (!sym noisy) and repeating the command that caused symbols to be loaded.
You should also verify that your symbol search path (.sympath) is correct.
GetUrlPageData2 (WinHttp) failed: 12007.

DUMP_CLASS: 2

DUMP_QUALIFIER: 400

CONTEXT: (.ecxr)
eax=00afe22c ebx=00c7eb48 ecx=00c7eb48 edx=1b0112be esi=00000000 edi=1b0112be
eip=6ded0764 esp=00afe200 ebp=00afe258 iopl=0 nv up ei pl zr na pe nc
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00010246
comctl32_6ddf0000!Button_DrawTextAndGlyph:
6ded0764 ?? ???
Resetting default scope

FAULTING_IP:
comctl32_6ddf0000!Button_DrawTextAndGlyph+0
6ded0764 ?? ???

EXCEPTION_RECORD: (.exr -1)
ExceptionAddress: 6ded0764 (comctl32_6ddf0000!Button_DrawTextAndGlyph)
ExceptionCode: c0000006 (In-page I/O error)
ExceptionFlags: 00000000
NumberParameters: 3
Parameter[0]: 00000008
Parameter[1]: 6ded0764
Parameter[2]: c0000242
Inpage operation failed at 6ded0764, due to I/O error c0000242

DEFAULT_BUCKET_ID: SOFTWARE_NX_FAULT_NOSOS

PROCESS_NAME: GSI.exe

ERROR_CODE: (NTSTATUS) 0xc0000006 — <Unable to get error code text>

EXCEPTION_CODE: (NTSTATUS) 0xc0000006 — <Unable to get error code text>

EXCEPTION_CODE_STR: c0000006

EXCEPTION_PARAMETER1: 00000008

EXCEPTION_PARAMETER2: 6ded0764

EXCEPTION_PARAMETER3: c0000242

IO_ERROR: (NTSTATUS) 0xc0000242 — <Unable to get error code text>

ADDITIONAL_DEBUG_TEXT: Followup set based on attribute [Is_ChosenCrashFollowupThread] from Frame:[0] on thread:[PSEUDO_THREAD]

LAST_CONTROL_TRANSFER: from 00000000 to 00000000

WATSON_BKT_PROCSTAMP: 56d45f4f

WATSON_BKT_PROCVER: 6.1.0.51

WATSON_BKT_MODULE: comctl32.dll

WATSON_BKT_MODSTAMP: 57898e2d

WATSON_BKT_MODOFFSET: e0764

WATSON_BKT_MODVER: 6.10.14393.0

BUILD_VERSION_STRING: 10.0.14393.0 (rs1_release.160715-1616)

MODLIST_WITH_TSCHKSUM_HASH: 1190ba14ac8bfdbdc7bb18aa7f963a0df012b0fb

MODLIST_SHA1_HASH: 0fa21da89a763edf03da3ebe0effcd131904cc56

NTGLOBALFLAG: 0

APPLICATION_VERIFIER_FLAGS: 0

DUMP_FLAGS: 94

DUMP_TYPE: 1

APP: gsi.exe

MISSING_CLR_SYMBOL: 0

ANALYSIS_SESSION_HOST: ALEX-PC

ANALYSIS_SESSION_TIME: 09-02-2016 19:57:22.0087

ANALYSIS_VERSION: 10.0.10586.567 amd64fre

MANAGED_CODE: 1

MANAGED_ENGINE_MODULE: clr

MANAGED_BITNESS_MISMATCH:
Managed code needs matching platform for proper analysis. Use ‘x86’ debugger.

THREAD_ATTRIBUTES:
FAULTING_THREAD: ffffffff

THREAD_SHA1_HASH_MOD_FUNC: 105bb1fe8d5fa2aac754e116bcca7a91358e14a3

THREAD_SHA1_HASH_MOD_FUNC_OFFSET: d6166623ab2f82049e0fb29046b8624d46979834

OS_LOCALE: RUS

PROBLEM_CLASSES:

SOFTWARE_NX_FAULT
Tid [0xd8c]
Frame [0x00]: comctl32!Button_DrawTextAndGlyph

NOSOS
Tid [0xd8c]
Failure Bucketing

BUGCHECK_STR: SOFTWARE_NX_FAULT_NOSOS

STACK_TEXT:
00000000 00000000 hardware_disk!Unknown+0x0

THREAD_SHA1_HASH_MOD: 5587afe09fa730b6270ccd4de14528e196ba31e7

SYMBOL_STACK_INDEX: 0

SYMBOL_NAME: hardware_disk!Unknown

FOLLOWUP_NAME: MachineOwner

MODULE_NAME: hardware_disk

DEBUG_FLR_IMAGE_TIMESTAMP: 0

STACK_COMMAND: ** Pseudo Context ** ; kb

BUCKET_ID: SOFTWARE_NX_FAULT_NOSOS_hardware_disk!Unknown

PRIMARY_PROBLEM_CLASS: SOFTWARE_NX_FAULT_NOSOS_hardware_disk!Unknown

BUCKET_ID_OFFSET: 0

BUCKET_ID_MODULE_STR: hardware_disk

BUCKET_ID_MODTIMEDATESTAMP: 0

BUCKET_ID_MODCHECKSUM: 0

BUCKET_ID_MODVER_STR: 0.0.0.0

BUCKET_ID_PREFIX_STR: SOFTWARE_NX_FAULT_NOSOS_

FAILURE_PROBLEM_CLASS: SOFTWARE_NX_FAULT_NOSOS

FAILURE_EXCEPTION_CODE: c0000006

FAILURE_IMAGE_NAME:

FAILURE_FUNCTION_NAME:

FAILURE_SYMBOL_NAME: hardware_disk!Unknown

FAILURE_BUCKET_ID: SOFTWARE_NX_FAULT_NOSOS_c0000006_hardware_disk!Unknown

WATSON_STAGEONE_URL: http://watson.microsoft.com/StageOn…3.0/57898e2d/c0000006/000e0764.htm?Retriage=1

TARGET_TIME: 2016-09-02T12:09:27.000Z

OSBUILD: 14393

OSSERVICEPACK: 0

SERVICEPACK_NUMBER: 0

OS_REVISION: 0

SUITE_MASK: 768

PRODUCT_TYPE: 1

OSPLATFORM_TYPE: x86

OSNAME: Windows 10

OSEDITION: Windows 10 WinNt SingleUserTS Personal

USER_LCID: 0

OSBUILD_TIMESTAMP: 2016-07-16 04:33:42

BUILDDATESTAMP_STR: 160715-1616

BUILDLAB_STR: rs1_release

BUILDOSVER_STR: 10.0.14393.0

ANALYSIS_SESSION_ELAPSED_TIME: 178e20

ANALYSIS_SOURCE: UM

FAILURE_ID_HASH_STRING: um:software_nx_fault_nosos_c0000006_hardware_disk!unknown

FAILURE_ID_HASH: {97d83bdb-ab34-63cd-695e-2191a09fa0a2}

Followup: MachineOwner
———

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

Причиной может быть обрыв сетевого соединения, если выполняемый файл находится на сетевом диске.

Мы добавили в заголовок gedemin.exe, gedemin_upd.exe и gdcc.exe флаг IMAGE_FILE_NET_RUN_FROM_SWAP. Теперь при запуске программы с сетевого диска она будет целиком копироваться в swap файл локального компьютера. Это замедлит процесс начальной загрузки, но позволит избавиться от ошибки в случае обрыва соединения.

Для обновления следует взять архив с нашего сайта и переписать с заменой все файлы из него. Утилита автоматического обновления может не сработать, так как номера версий файлов не изменились.

Следует протестировать новый выполняемый модуль в сетях, где возникала указанная проблема. Если установка флага не поможет, то, возможно, следует аналогичный флаг установить и для всех динамических библиотек, используемых Гедымином.

Также в сети есть информация, что если ошибка появляется при работе в терминальных сессиях Windows Terminal Server 2008, то рекомендуется установить в реестре флаг:

Subkey: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMRxSmbParameters

Type: REG_DWORD
Entry: MultiUserEnabled
Value: 1

03.01.2021

Просмотров: 7338

Во время запуска приложений на ПК с Windows 10 может появиться ошибка 0xc0000006 с сопутствующим уведомлением «STATUS_IN_PAGE_ERROR», «Bad Image» или «Ошибка приложений». Возникает такая неполадка по следующим причинам: повреждение системных файлов, вирусное заражение, блокировка исполнительного файла антивирусом или самой системой, несовместимость софта с операционной системой.

Читайте также: Не воспроизводится видео и звук: ошибка 0xc00d36c4

Методы исправления ошибки 0xc0000006 при запуске приложения

Чаще всего ошибка 0xc0000006 при запуске приложений появляется при попытке запустить на устройстве пиратскую версию софта. Поэтому, если вы установили на своем ПК ломаную версию игры или приложения, то переустановите программу, предварительно скачав установочный файл с официального сайта разработчика.

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

Если программа после внесения её в исключения антивируса все же не запускается, то причина может крыться в вирусном заражении системы. Рекомендуем проверить Windows 10 и любую другую сборку на вирусы. Для этого можно использовать как штатный антивирус, так и лечащую утилиту Доктор Web, которая максимально глубоко просканирует систему на вирусы и вредоносное ПО.

Если антивирус обнаружил вирусы, то, вероятнее всего, файлы программ или Windows 10 были повреждены, а из-за этого корректная работа софта не гарантирована. Для того, чтобы проверить систему на целостность файлов, стоит запустить командную строку с правами Администратора и ввести sfc /scannow.

Если утилита не обнаружила нарушения целостности, то пробуем выполнить Чистую загрузку Windows 10, чтобы убедиться, что работе системы и программ не мешают сторонние службы. Для чистого запуска Windows, необходимо нажать «Win+R» и ввести «msconfig». Появится окно «Конфигурация системы». Во вкладке «Общее» нужно снять отметку «Загружать элементы автозагрузки» и поставить галочку «Загружать системные службы». Во вкладке «Службы» нужно установить отметку «Не отображать службы Майкрософт». Нажимаем «Отключить все» и кликаем «Применить». Система загрузится без дополнительных ПО и служб. Если ошибка 0xc0000006 исчезла, то проблема кроется в какой-то сторонней программе. Нужно посмотреть, какой софт вы устанавливали последним и удалить его.

Также ошибка приложения 0xc0000006 может появиться из-за конфликтующего обновления для Windows 10. Поэтому можно попробовать удалить пакет обновления, который был установлен и после него начала вылетать ошибка.

ВАЖНО! Перед удалением пакета обновлений рекомендуем записать номер апдейта, чтобы иметь возможность установить его вручную, если ошибка с ним не связана.

Для того, чтобы удалить обновление в Windows 10 и в других сборках, стоит открыть «Панель управления», «Программы», в меню слева выбрать «Просмотр установленных обновлений» и удалить последнее установленное обновление.

Если обновление не виновно в ошибке, его можно установить вручную. Далее, как вариант решения ошибки, нажимаем Win+R и вводим rstrui. Появится окно для восстановления системы. Подтверждаем откат системы до более раннего состояния.

Также, если вышеописанные способы не помогли исправить неполадку, нужно переустановить программу, при запуске которой появляется ошибка 0xc0000006.

Я написал некоторую программу в Delphi и когда я запускаю ее с диска на ключ. В какой-то момент мне нужно отключить диск на клавиатуре во время работы приложения. Если я сделаю это на компьютере с по крайней мере 1 гб RAM, все будет в порядке. Когда я делаю это на машине с 512mb, я получаю внешнее исключение C0000006. Если я не ошибаюсь, это связано с тем, что ОС пытается прочитать следующую строку кода, но не может найти ресурс для нее (что означает, что приложение не было загружено в RAM), что является абсурдным, потому что это приложение 500 КБ.

Как я могу это решить? или, по крайней мере, справиться с этим исключением более элегантным способом? (Так как я не могу его поймать, поскольку это внешнее исключение).

О, и мое приложение Delphi представляет собой консольное приложение под Windows XP.

4b9b3361

Ответ 1

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

Изменить: Собственно, после небольшого исследования вы можете использовать директиву компилятора Delphi, чтобы сообщить Windows о загрузке полного исполняемого файла. Это работает, если у вас есть Delphi > 2006. Это приведет к тому, что вы никогда не получите внешнее исключение.

Поместите эту строку в файл проекта приложений:

{$SetPEFlags IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP}

Это говорит Windows, что исполняемый файл будет использоваться со съемных носителей, поэтому загрузите исполняемый файл в память (или файл подкачки). Тогда вам не нужно беспокоиться о таких вещах, как копирование файла на машину и т.д.

Для Delphi < 2006, вы можете пойти по пути принудительного выполнения исполняемого файла. Существует пример того, как это сделать в С++ здесь (кроме вы найдете способ изменить флаги заголовков PE после времени ссылки, что выглядит сложным)

N @

Ответ 2

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

Возможно, для рабочего набора (набора часто используемых страниц памяти) для приложения было разрешено достаточно расти на машинах 1 ГБ, так что обращение к диску для перезагрузки страниц было необязательным, но это было не так на машинах с 512 МБ?

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

Ответ 3

Как и @Barry, я бы рекомендовал проверить тип диска тома, из которого выполняется ваш исполняемый файл; если это удаляемый диск (и отсутствует параметр командной строки «уже в temp» ), скопируйте исполняемый файл (и любые его зависимости) в пользовательскую папку %TEMP%, а затем снова запустите его с дополнительным параметром командной строки для обозначения «уже в темпе».

  • Создайте каждый временный файл с помощью File.Create(targetPath, bufferSize, FileOptions.DeleteOnClose) (или одного из конструкторов FileStream, который принимает параметр FileOptions), но обязательно верните его в возвращаемый экземпляр File до после запускается вторая копия (например, в List<File>).
  • Скопировать содержимое каждого файла.
  • Запустите исполняемый файл из папки temp.
  • Вызовите Close() для каждого из экземпляров File, сохраненных выше.
  • Выход из исходного исполняемого файла.

Таким образом, файлы закрываются независимо от того, какой процесс заканчивается первым, а исходный том может быть удален ранее.

Ответ 4

Решение

uses Windows;
{$SetPEFlags IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP or IMAGE_FILE_NET_RUN_FROM_SWAP}

доступен для Delphi с версии 6.

Ответ 5

Существует рабочая версия Delphi RunImageLocally из MSJ, которая заставляет загружать исполняемый файл /dll. Это может предотвратить ошибки C0000006 при запуске из сетевой или съемный носитель…

Проверьте это на https://github.com/jrsoftware/issrc/blob/master/Projects/SetupLdr.dpr

Ответ 6

Это исключение C0000006 также часто возникает, если ваше программное обеспечение запускается с сетевого диска. Чтобы предотвратить эту проблему, вы можете комбинировать флаг

{$SetPEFlags IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP}

со следующим флагом:

IMAGE_FILE_NET_RUN_FROM_SWAP = $0800;

{$SetPEFlags $0C00}

Понравилась статья? Поделить с друзьями:
  • Налогоплательщик как найти архив
  • Как найти крота экстранхерос
  • Как составить вариант егэ по математике
  • Как найти точку сопряжения двух окружностей
  • Как найти попутчиков для путешествия за границу