External exception C0000006

vložil Radek Červinka 2. srpna 2013 01:29

Pokud při běhu Vašeho programu uživatelé reportují tuto chybu, tak vězte, že s největší pravděpodobností se jedná o jeden z těchto dvou problémů:

  • program je spuštěn z namapovaného disku (ať už se jedná o síťový disk nebo třeba flešku)
  • s menší pravděpodobností je na počítač nainstalován špatný antivirus

Jedná se o problém, kdy se OS snaží nahrát stránku programu která se má provádět a dojde k fyzickému selhání akce (což může mít uvedené dva důvody). V prvním případě je to pikantnější o to, že MS má chybu v některých síťových službách, takže i když síť je spolehlivá, může tato situace nastat (konkrétně je uváděn problém s Windows terminal services, kdy v některých případech souběžného spuštění programu, při ukončení jedné instance jsou ukončeny i ostatní).

Náprava je např. spouštět z lokálního disku, nebo vložit do dpr soubor {$SetPEFlags IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP}, což by mělo zaručit, že soubor bude při spuštění překopírován do temp adresáře (bez záruky).

Aktualizace: {$SetPEFlags IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP or IMAGE_FILE_NET_RUN_FROM_SWAP }

{ If Image is on Net, copy and run from the swap file. } { If Image is on removable media, copy and run from the swap file. }


Nabízíme Delphi školení a konzultace na různá témata, primárně ve Vaší firmě.

Tagy: ,

Praxe

Komentáře

2.8.2013 12:25:44 #

Zdeněk Vašků

Nemá tam být 5 na konci? Ale to je drobnost.

Hlavně v terminálech to dělá problém.

Zdeněk Vašků

2.8.2013 12:55:56 #

radekc

Nemá, http://www.support.tabs3.com/main/R10309.htm, s 5 je to podle mne až důsledek - klasické AV.

radekc

2.8.2013 13:52:06 #

Zdeněk Vašků

Je to možné já viděl až ten výsledek.

Zdeněk Vašků

6.8.2013 23:27:14 #

Daniel Andraščík

tak ja mam dnes za sebou tiez jeden zazitok so zakernou chybou. Nie sice zo 6-kou ale s tou ovela beznejsou C0000005.

Aplikacia mi proste pocas ukoncovania v 80% pripadov zatvarania hadzala chybu C0000005, ale mal som zasadny problem vystopovat kde to vznika. Callstack uz bludil len niekde po asemblerovskych kodoch, moj uzivatelsky kod uz bol davno ukonceny a teda predpokladam ze to vznikalo az v dosledku niektorej finalization sekcie niektorej unity. Bohuzial nemal som ziadne voditko. Nevedel mi to dokonca zachytit ani ziaden z dostupnych debugovacich nastrojov ako napriklad madExcept, EurekaLog, alebo JCLdebug, tie uz boli proste unloadnute.

Tak som si hovoril ze som niekde nieco ukrutne posral a prepisujem niekde nejaku pamat a potom to krachuje. Tak ma napadlo este vyskusat fulldebugmode kniznice FastMM. A na moje obrovske prekvapenie, po zakompilovani FastMM do projektu (este zatial s neaktivnim fulldebugmodom) sa chyba prestala prejavovat! Pouzivam XE3 upd2 a teraz cely vecer dookola robim jedinu vec, zakomentarujem FastMM unitu a aplikacia krachne, odkomentarujem FastMM a aplikacia sa ukonci korektne. Sanku mam dole a nechapem, pretoze delphi maju orezanu unitu FastMM integrovanu tusim uz od D2007.

Teraz neviem co s tym, ci sa mam len spokojit s tym ze novsie FastMM to riesi, alebo mam badat dalej kde je problem. Ale ja som po dnesku v koncoch a neviem ako mam dalej badat. Jedna sa o slusne slozity projekt pouzivajuci extended RTTI, generika a kadejake rozne a dost velke frameworky tretich stran, chyba moze byt kdekolvek a voditka su mizerne. V kazdom pripade sa mi zda neuveritelne ze by FastMM odchytavala a korigovala nejaku chybu, ale ono sa to presne takto javi. Asi cas ukaze.

Daniel Andraščík

6.1.2014 16:13:46 #

radekc

Aktualizace: {$SetPEFlags IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP or IMAGE_FILE_NET_RUN_FROM_SWAP }

{ If Image is on Net, copy and run from the swap file. }
{ If Image is on removable media, copy and run from the swap file. }

radekc

Komentování ukončeno

Naše nabídka

Partial English version.

MVP
Ing. Radek Červinka - Embarcadero MVP
profil na linkedin, Twitter:@delphicz

Nabízím placené poradenství a konzultace v oblasti programování a vývoje SW.
Dále nabízíme i vývoj speciálního software na zakázku.

Neváhejte nás kontaktovat (i ohledně reklamy nebo burzy práce).

Pokud chcete podpořit tento server libovolnou částkou, můžete použít PayPal. Moc děkuji.

Delphi Certified Developer

O Delphi.cz

Delphi je jediný moderní RAD nástroj podporující tvorbu nativních aplikací pro platformu Win32, Win64 , Mac OSX a na iPhone a Android (s výhledem na další platformy díky FireMonkey) na současném trhu (včetně Windows 8.1).

V současnosti je světová komunita přes dva miliónů vývojářů.

Delphi.cz je nezávislý portál pro uživatele Delphi. Portál není koncipován pro úplné začátečníky, i když i ti se zde nebudou nudit, ale spíše na programátory, kteří již něco znají a chtějí své znalosti dále rozvíjet a sledovat novinky.

Anketa

Poslední komentáře

Comment RSS