- L'arresto 0x0000003B indica un'eccezione durante l'esecuzione di un servizio di sistema in modalità kernel.
- Le cause più comuni sono controller difettosi, danneggiamento della memoria o del sistema e guasti specifici della batteria.
- WinDbg (.cxr, kb, !analyze) e Driver Verifier aiutano a identificare il driver colpevole.
- Esistono hotfix per casi specifici (IEEE 1394 in Windows 7) e una serie di soluzioni pratiche.

Quando Windows visualizza una schermata blu con il messaggio SYSTEM_SERVICE_EXCEPTION e il codice 0x0000003B, significa che si è verificato un errore molto grave durante il passaggio dal codice in modalità utente al codice in modalità kernel. Questo codice di arresto viene visualizzato quando una routine di servizio di sistema genera un'eccezione e il sottoprocesso coinvolto appartiene al sistema, non a una qualsiasi app.
Se hai già riscontrato questo errore sul tuo PC o server, non sei il solo. Si tratta di una BSOD relativamente comune che può derivare da driver difettosi, danneggiamento della memoria o del sistema, utilità incompatibili o persino guasti specifici in determinati stack di autisti (come IEEE 1394 nelle versioni precedenti di Windows). Di seguito troverete una guida completa con cause, sintomi, diagnostica avanzata con WinDbg, un caso noto con hotfix ufficiale e soluzioni pratiche per tecnici e utenti.
Cosa significa SYSTEM_SERVICE_EXCEPTION (0x0000003B)
Questo controllo bug ha un valore di 0x0000003B e indica che Si è verificata un'eccezione durante l'esecuzione di una routine di servizio di sistema.In altre parole, qualcosa è andato storto durante la transizione dalla modalità utente alla modalità kernel e Windows sta spegnendo il computer per evitare ulteriori danni.
I codici di eccezione sono espressi nel formato NTSTATUS e sono definiti in ntstatus.h del WDK. Due codici comuni associati a questa fermata sono:
- 0x80000003 (STATUS_BREAKPOINT): È stato trovato un breakpoint/ASSERT senza un debugger del kernel connesso.
- 0xC0000005 (STATUS_ACCESS_VIOLATION): violazione dell'accesso alla memoria (lettura/scrittura/esecuzione non valida).
In termini pratici, di solito sono in gioco dereferenziazioni a puntatori NULL, indirizzi casuali o strutture dati danneggiate, a volte a causa di rilasci prematuri di memoria o driver che passano dati errati al kernel.
Parametri del controllo bug 0x0000003B
Quando analizzi il dump, vedrai quattro parametri. Sono fondamentali per centrare il tiro durante il debug:
| parametro | Descrizione |
|---|---|
| 1 | Codice di eccezione NTSTATUS che ha attivato il controllo dei bug. |
| 2 | Direzione dell'istruzione che ha causato il controllo dei bug. |
| 3 | Indirizzo del record di contesto dell'eccezione (CONTESTO). |
| 4 | 0 (non utilizzato). |
Con questi dati è possibile ricostruire lo stato di esecuzione. Il parametro 1 ti dirà esattamente quale eccezione NTSTATUS si è verificatae 3 consente di caricare il contesto per visualizzare i log e lo stack nel punto di arresto anomalo.
cause comuni
In pratica, questo BSOD si verifica a causa di una combinazione di software e hardware. Le cause tipiche includono:
- Driver scritti male, obsoleti o corrotti (scheda grafica, immagazzinamento(rete, USB, ecc.).
- Danneggiamento della memoria (RAM), dereferenziazioni NULL o utilizzo di memoria liberata.
- File di sistema danneggiati o configurazione del kernel incoerente.
- Voci del Registro di sistema danneggiate o manipolate da malware/adware.
- Problemi del disco (settori danneggiati, errori del file system).
- Casi specifici di stack di driver (ad esempio, IEEE 1394 su Windows 7/Server 2008 R2).
Potrebbe anche coincidere con recenti cambiamenti: Installazione di nuovo software/hardware, aggiornamento driveraggiornamenti di sistema o impostazioni di overclocking.
Sintomi e comportamento
Oltre allo schermo blu, è comune vedere blocchi periodici, lentezza generale, riavvii imprevisti e arresti casuali applicazioniA volte il computer impiega molto tempo a caricarsi dopo il BSOD (avvio molto lento di app come Discord) e, in molte occasioni, il problema si manifesta mentre il PC sembra essere inattivo.
In un caso pratico descritto da un utente, gli arresti anomali si sono verificati una volta al giorno con periodi di 4-5 giorni senza fallo, e sono stati accompagnati da chiusure di SteamDiscord si riavvia o blocca le schede di Firefox. Il team aveva Windows 11 24 ore su 2 con hardware moderno (Intel (Core i7-14700K, RTX 4080, Z790 DDR5, SSD NVMe) e i mini-dump necessari per la revisione per isolare la vera fonte. Questo tipo di modello si adatta a driver, utilità di terze parti o danneggiamento intermittente della memoria.
Diagnostica avanzata con WinDbg
Se hai accesso ai simboli e ti trovi a tuo agio con WinDbg, puoi andare dritto al punto. La sequenza di base per 0x3B è solitamente:
- Stati Uniti d'America !analizzare -v per ottenere un riepilogo del controllo dei bug, del modulo sospetto e dello stack.
- Carica il contesto del parametro 3 con .cxr e quindi rimuovere la batteria con kb.
- Disassemblare attorno all'istruzione del parametro 2 con u, ub, uu e osservare l'accesso alla memoria.
Un esempio di output (riassunto) potrebbe apparire così; nota come Sono elencati gli argomenti e gli indirizzi chiave:
SYSTEM_SERVICE_EXCEPTION (3b)
An exception happened while executing a system service routine.
Arguments:
Arg1: 00000000c0000005, Exception code
Arg2: fffff802328375b0, Faulting IP
Arg3: ffff9c0a746c2330, Context record
Arg4: 0000000000000000, Reserved
Per identificare il driver responsabile, il kernel espone KiBugCheckDriverPuoi verificarlo con DX:
dx KiBugCheckDriver
// Ejemplo de salida: "nvlddmkm.sys" (cadena UNICODE)
Quando arg1 è un NTSTATUS, !errore Traduce il codice per te:
!error 00000000c0000005
(NTSTATUS) 0xC0000005 - The instruction at 0x%p referenced memory at 0x%p.
Altro comandi utile durante la sessione: lm tn per elencare i moduli, !memusage per visualizzare lo stato della memoria globale e !pte o !piscina per approfondire pagine e pool. La sezione STACK TEXT (stack) fornisce indizi evidenti sul codice in esecuzione e su come è arrivato lì.
Consiglio pratico: se si sospetta un consumo eccessivo di pool di paging a causa di un incrocio tra driver in modalità utente e kernel (storicamente comune con la grafica), si attiva Driver Verifier con regole di pool per rilevare le violazioni proprio nel momento del fallimento.
Verificatore del conducente
Driver Verifier viene eseguito in tempo reale per monitorare il comportamento del conducente, forzando in modo proattivo le eccezioni quando Rileva l'uso improprio della memoria, IRQL o sincronizzazioneÈ integrato in Windows e puoi avviarlo da un prompt dei comandi o PowerShell con verificatore.
Passaggi di base: scegliere Creare una configurazione standardTi chiede di selezionare driver non firmati o più recentie limita il set ai sospetti (grafica, archiviazione, rete). Evita di controllare assolutamente tutto. per evitare di penalizzare eccessivamente il sistema. Se Driver Verifier rileva problemi, il sistema Verrà generato immediatamente un BSOD con informazioni più utili..
Supporto per analisi e memoria
Se hai bisogno di approfondire il sottosistema di memoria di Windows, Windows Internals (7a edizione, parte 1) È un'ottima risorsa per capire come e dove cercare. In WinDbg, ricorda di usare !memusage per un quadro generale, e poi perfezionare con !pte y !piscina quando l'errore indica un danneggiamento della paginazione o dei pool.
Caso noto: BSOD con IEEE 1394 in Windows 7/Server 2008 R2
Esiste un problema documentato in Microsoft per cui i computer con Windows 7 o Windows Server 2008 R2 si bloccavano quando si utilizzavano determinati dispositivi IEEE 1394, visualizzando un messaggio di arresto simile. La fonte era un bug nello stack di driver IEEE 1394 di Microsoft: Il buffer allocato non veniva inizializzato correttamente..
Microsoft ha pubblicato un hotfix specifico Progettato specificamente per questo problema. Raccomandazioni ufficiali: applicalo solo se riscontri esattamente questo problema, poiché può includere controlli aggiuntiviSe il download non viene visualizzato, contattare il supporto Microsoft. Richiede il riavvio dopo l'installazione e non sostituisce altri hotfix precedenti.
Dettagli dei file chiave inclusi (selezione rappresentativa): 1394bus.sys, 1394ohci.sys, ohci1394.sysA titolo di riferimento, ecco alcune versioni/date per piattaforma:
- x86 (Windows 7): 1394bus.sys 6.1.7600.16385 (~54 KB, 13-lug-2009), 1394ohci.sys 6.1.7600.20649 (~164 KB, 20-feb-2010), ohci1394.sys 6.1.7600.16385 (~62 KB, 13-lug-2009).
- x64 (Windows 7 / Server 2008 R2): 1394bus.sys 6.1.7600.16385 (~68 KB, 14-lug-2009), 1394ohci.sys 6.1.7600.20649 (~228 KB, 20-feb-2010), ohci1394.sys 6.1.7600.16385 (~72 KB, 14-lug-2009).
- IA-64 (Server 2008 R2): 1394bus.sys 6.1.7600.16385 (~182 KB, 14-lug-2009), 1394ohci.sys 6.1.7600.20649 (~509 KB, 20-feb-2010), ohci1394.sys 6.1.7600.16385 (~172 KB, 14-lug-2009).
Sono stati distribuiti anche MUM manifesta e impacchetta specifici dell'architettura (ad esempio, X86_1394.inf_…_6.1.7600.20649…, AMD64_1394.inf_… e IA64_1394.inf_…), con la relativa firma di catalogo (.cat). Non c'erano prerequisiti per l'installazione oltre il successivo riavvio e Microsoft ha confermato il problema nei prodotti indicati.
Soluzioni pratiche (dalle più comuni alle più tecniche)
È possibile fare molti progressi anche senza accedere a WinDbg. Inizia con le cose semplici e aumenta gradualmente il livello. Se il problema persiste:
1) Verificare la presenza di software e driver recenti
Se il problema si è verificato dopo aver installato qualcosa, disinstallare il software o ripristinare il driver precedente. Nel Amministratore del dispositivoControllare i dispositivi con un punto esclamativoe controlla le sue proprietà per eventi/errori. Prova ad aggiornare o ripristinare i driver (scheda grafica, archiviazione, rete, USB, monitor) e, se il problema è iniziato dopo un aggiornamento, usa Torna al driver precedente quando disponibile.
2) Verifica la presenza di malware
Esegui una scansione completa con il tuo antivirus o con la soluzione Microsoft. I test rapidi possono lasciare residuiUna scansione completa è la soluzione migliore per ripulire le voci del Registro di sistema e i file binari alterati da malware/adware.
3) Riparare i file di sistema
Apri una console come amministratore ed esegui prima sfc / scannowQuando è finito, lancialo DISM / Online / Cleanup-Image / RestoreHealth. Riparazioni SFC dalla cache locale e DISM regola l'immagine del sistema per correggere incongruenze più profonde.
4) Verificare il disco e il file system
apre CMD esegui come amministratore chkdsk / f (o chkdsk c: / r (dall'ambiente di recupero). Se trovi settori difettosi, li contrassegnerà come inutilizzabili; questo può impedire che il kernel si blocchi durante il caricamento di driver o DLL danneggiati.
5) Testare la RAM
Avviare lo strumento di diagnostica della memoria con MdSched.exe e scegli di riavviare e controllare. Se segnala errori, valutalo. sostituire il modulo difettoso o abbassare XMP/overclockSe si utilizzano DDR5 a frequenze regolate, provare i valori JEDEC di fabbrica.
6) Avvio pulito
Con msconfigNasconde i servizi Microsoft e disabilita il resto; nel Task manager, disabilita l'avvio dell'app. Ciò isola il software di terze parti (antivirus, utilità RGB, overlay, ecc.) che possono essere collegati al kernel.
7) Aggiornare il BIOS e il chipset
Scarica quanto segue dal sito Web di supporto del produttore della tua scheda madre: Driver BIOS/UEFI e chipset più recentiMiglioramenti nel microcodice, nella gestione dell'alimentazione e nella compatibilità memoria/PCIe ridurre il BSOD collegato ai tempi e all'ACPI.
8) Disabilitare l'overclocking o ripristinare UEFI
Ripristina i valori predefiniti per CPU, GPU e RAM. Tempi aggressivi o tensioni brevi Ciò spesso causa un danneggiamento della memoria molto difficile da tracciare. Salva e verifica la stabilità in magazzino.
9) Ripristino configurazione di sistema
Se il problema è iniziato di recente, esegui rstrui.exe e ripristina un punto precedente. È un modo rapido per annullare le modifiche nei driver/registro senza reinstallarlo.
10) Avviamento e riparazioni BCD (quando non si avvia)
Dall'ambiente di ripristino: Riparazione di avvioSe ciò non bastasse, apri CMD ed esegui bootrec / fixmbr y bootrec / fixboot. Utile quando il BSOD è accompagnato da problemi di avvio o interruzioni durante l'installazione.
11) Facoltativo: disabilitare temporaneamente l'avvio protetto
In alcuni scenari specifici, la disattivazione Secure Boot L'UEFI consente di iniziare con controller alternativi per isolare il conflitto. Ricordati di riattivarlo quando hai finito i test.
12) Reinstallazione di Windows (ultima risorsa)
Se nient'altro funziona, un'installazione pulita eliminerà i danneggiamenti persistenti e i driver problematici. Fai prima un backup perché i dati verranno cancellati. Se il programma di installazione visualizza anche un BSOD verso la fine, provare con un'altra ISO USB, un'altra unità M.2 e BIOS predefinito.
Recupera i dati se non riesci ad iniziare
La perdita di dati dopo un errore 0x0000003B è relativamente comune, soprattutto se il sistema entra in loop di errore. Prima di reinstallare, valutare l'estrazione dei file con mezzi di Boot di recupero.
Strumenti come RecoverIt Consentono di creare un'unità USB avviabile da un altro PC, avviare la macchina interessata e copiare documenti, foto e video verso una destinazione sicura. Il flusso di lavoro tipico consiste nel creare il supporto, avviarlo e selezionare l'unità da analizzare per recuperare i file importanti.
In alternativa Procedura guidata di recupero dati EaseUS WinPEche offre un avvio senza toccare l'installazione e Modalità provvisoria per dischi di sistema danneggiatiI suoi vantaggi includono la possibilità di non sovrascrivere i dati, l'anteprima dei file e il fatto di non dover reinstallare Windows per avviare il ripristino. Se il tuo computer Si blocca o si riavvia frequentemente.Partendo dal tuo ambiente potrai estrarre le informazioni critiche.
Ulteriori suggerimenti per la risoluzione dei problemi
Oltre a quanto detto sopra, vale la pena rivedere alcuni concetti di base. Nel Visualizzatore eventi (registro di sistema)Cerca errori critici nella stessa finestra della schermata blu; spesso indicano servizi o driver. Se hai aggiunto hardware di recente, prova a rimuoverlo o a contattare il produttore per ottenere aggiornamenti firmati. In Gestione dispositiviQualsiasi punto esclamativo è un indizio. E quando identificate un driver nella schermata blu, prendete nota del nome esatto del file .sys.
SYSTEM_SERVICE_EXCEPTION (0x0000003B) è il riflesso di un'eccezione critica nel transito del kernel. Con WinDbg, i parametri di controllo dei bug, !analyze, .cxr e kb Questo è solitamente sufficiente per identificare il punto di errore; in caso contrario, Driver Verifier aiuterà a individuare il driver difettoso. Per casi noti come IEEE 1394 in Windows 7/2008 R2, Microsoft fornisce hotfix per versioni specifiche dei filePer il resto, una serie di passaggi per la risoluzione dei problemi (driver, SFC/DISM, disco, RAM, BIOS/UEFI, avvio pulito e, se necessario, reinstallazione) ripristinano la stabilità, ed è sempre possibile. salva i tuoi dati con un supporto di ripristino prima di prendere misure drastiche.
Scrittore appassionato del mondo dei byte e della tecnologia in generale. Adoro condividere le mie conoscenze attraverso la scrittura, ed è quello che farò in questo blog, mostrarti tutte le cose più interessanti su gadget, software, hardware, tendenze tecnologiche e altro ancora. Il mio obiettivo è aiutarti a navigare nel mondo digitale in modo semplice e divertente.