Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A Windows Vista-tól kezdve a Windows alapértelmezés szerint összeomlási, nem válasz- és kernelhiba-jelentést nyújt anélkül, hogy módosításokat kellene végrehajtania az alkalmazáson. The report will include minidump and heap dump information if required. Az alkalmazások ehelyett a WER API használatával küldik el az alkalmazásspecifikus problémajelentéseket a Microsoftnak.
Mivel a Windows automatikusan jelenti a nem kezelt kivételeket, az alkalmazásnak nem szabad végzetes kivételeket kezelnie. Ha a hibás vagy nem válaszoló folyamat interaktív, a WER megjelenít egy felhasználói felületet, amely tájékoztatja a felhasználót a problémáról. Az alkalmazás nem válaszol, ha öt másodpercig nem válaszol a Windows-üzenetekre, miközben a felhasználó az alkalmazással próbál kommunikálni.
Windows hibajelentési folyamat összeomlások, nem válasz és kernelhibák esetén
Az alábbiakban az alkalmazás összeomlásával, nem válaszával vagy kernelhibával kapcsolatos lépéseket mutatjuk be.
- A probléma eseménye következik be.
- Az operációs rendszer meghívja a WER-t.
- A WER összegyűjti az adatokat, jelentést készít, és hozzájárulást kér a felhasználótól (ha szükséges).
- A WER elküldi a jelentést a Microsoftnak (Watson Server), ha a felhasználó hozzájárult.
- Ha a Watson-kiszolgáló további adatokat kér, a WER összegyűjti az adatokat, és hozzájárulást kér a felhasználótól (ha szükséges).
- Ha az alkalmazás regisztrálva van a helyreállításra és az újraindításra, a WER végrehajtja a regisztrált visszahívási függvényeket, miközben az adatok tömörítése és elküldése a Microsoftnak történik (ha a felhasználó hozzájárult).
- Ha a microsoftos válasz elérhető a problémára, a felhasználó értesítést kap.
Az alkalmazások az alábbi függvényekkel testre szabhatják a Microsoftnak küldött jelentés tartalmát. A regisztrációs függvények azt mondják a WER-nek, hogy az általa létrehozott hibajelentésbe foglalja bele az adott fájlokat és memóriablokkokat.
- WerRegisterFile
- WerRegisterMemoryBlock
- WerSetFlags
- WerUnregisterFile
- WerUnregisterMemoryBlock
- WerGetFlags
Windows hibajelentési folyamat általános eseményjelentéshez
Az alábbi lépések azt mutatják be, hogy az alkalmazások hogyan kaphatnak hibajelentést egy nem végzetes hibaállapotról.
- A nem halálos kimenetelű probléma eseménye következik be.
- Az alkalmazás felismeri az eseményt, és a következő függvényhívások sorozatával hozza létre a jelentést.
- A jelentés létrehozásához hívja meg a WerReportCreate függvényt.
- A jelentésparaméterek beállításához hívja meg a WerReportSetParameter függvényt.
- A WerReportAddFile függvény meghívásával adjon hozzá fájlokat a jelentéshez.
- Hívja meg a WerReportAddDump függvényt, hogy adjon hozzá egy minidumpot a jelentéshez (ha szükséges).
- A jelentés elküldéséhez hívja meg a WerReportSubmit függvényt.
- Call the WerReportCloseHandle to free resources.
- A függvények 2. lépésben való meghívásakor használt beállításoktól függően a WER befejezi a hibajelentést. A WER biztosítja, hogy a jelentéskészítés a felhasználó által beállított szabályzatoknak megfelelően történjen. A WER például elküldi a jelentést a Microsoftnak, várólistára küldi a jelentést, és megjeleníti a megfelelő felhasználói felületeket a felhasználónak.
Alkalmazás kizárása a Windows hibajelentésből
Ha ki szeretné zárni az alkalmazást a Windows hibajelentéséből, használja a WerAddExcludedApplication függvényt. Az alkalmazás hibajelentésének visszaállításához használja a WerRemoveExcludedApplication függvényt.
Adatok automatikus helyreállítása és hibás alkalmazás újraindítása
Az alkalmazás az Application Recovery és az Újraindítás használatával mentheti az adatokat és az állapotadatokat, mielőtt az alkalmazás kezeletlen kivétel miatt kilép, vagy amikor az alkalmazás nem válaszol. Szükség esetén az alkalmazás is újraindul. Részletekért lásd: Alkalmazás-visszaállítás és újraindítás.
Régi API
Az alkalmazások a ReportFault függvény meghívásával jelenthetnek hibát. A ReportFault függvényt azonban csak akkor használja, ha van egy nagyon specifikus igénye, amelyet az operációs rendszer alapértelmezett hibajelentési viselkedése nem tud kielégíteni.
Ha a hibajelentés engedélyezve van, a rendszer egy párbeszédpanelt jelenít meg a felhasználó számára, amely jelzi, hogy az alkalmazás hibát észlelt, és bezárul. Ha egy hibakereső van konfigurálva a HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug kulcsban, a felhasználónak lehetősége van elindítani a hibakeresőt. A felhasználónak lehetősége van arra is, hogy jelentést küldjön a Microsoftnak. Ha a felhasználó elküldi a jelentést, a rendszer egy másik párbeszédpanelt jelenít meg, amely köszönetet mond a felhasználónak a jelentésért, és további információkra mutató hivatkozást jelenít meg.
A hibajelentési rendszer a következő műveleti módokat támogatja.
| Műveleti mód | Leírás |
|---|---|
| Megosztott memória jelentéskészítése | Ha az alkalmazás biztonsági környezete megegyezik a bejelentkezett felhasználó biztonsági környezetével, a hibajelentési rendszer megosztott memóriablokkot használ a kommunikációhoz. Ez a mód nem használható jegyzékjelentési móddal. |
| Manifest reporting | Ha az alkalmazás biztonsági környezete nem azonos a bejelentkezett felhasználó biztonsági környezetével, a hibajelentési rendszer egy fájlt használ a kommunikációhoz. Ez a mód a nem válaszoló alkalmazások és a kernelhibák jelentésére is használható. Ez a mód nem használható megosztott memóriajelentési móddal. |
| Internetes jelentéskészítés | A hibajelentési rendszer minden adatot az interneten keresztül küld a Microsoftnak. Ez az alapértelmezett működési mód. Vállalati jelentéskészítési móddal nem használható. Ezt a módot akkor használja a rendszer, ha a rendszergazda nem adott meg vállalati feltöltési útvonalat. |
| Vállalati jelentéskészítés | A hibajelentési rendszer az összes adatot egy fájlmegosztásba küldi ahelyett, hogy közvetlenül feltöltené őket a Microsoftba. Ez lehetővé teszi, hogy a vállalati informatikai vezetők áttekintse az adatokat, mielőtt elküldené őket a Microsoftnak. Ezt a módot akkor használja a rendszer, ha a rendszergazda által megadott vállalati feltöltési útvonal van megadva. Internetes jelentéskészítési módban nem használható. |
| Headless reporting | A hibajelentési rendszer nem jelenít meg párbeszédpaneleket a felhasználó számára. Ez lehetővé teszi, hogy a vállalati informatikai vezetők mindig hibajelentéseket gyűjtsenek az alkalmazottaiktól. Ezt a módot akkor használja a rendszer, ha a rendszergazda engedélyezi a jelentéskészítést, de az értesítés le van tiltva. Csak vállalati jelentéskészítési mód esetén használható. |
Ha ki szeretné zárni az alkalmazást a hibajelentésből, használja az AddERExcludedApplication függvényt.