Cum pot provoca Windows pentru a închide (freeze)?

Am nevoie pentru a testa echipamente de comportament în cazul în care Windows greu se blochează/îngheață (de exemplu, congelate ecran, nu Led-uri clipesc, nici o reacție la intrări, inclusiv Ctrl+Alt+Del, etc.). În scopul de a avea suficient de experimente într-un timp rezonabil de scurt am nevoie pentru a iniția aceste se blochează, fie programatic sau altfel.

Sunt interesat în Windows 10, în special, dar orice lucru calea pentru alte versiuni este de apreciat.

Fiecare căutare-am'am făcut pe acest subiect nu este surprinzator ce mă aduce la discuții despre cum să elimina aceste situații, nu le provoca. Deci, întrebarea poate părea destul de ciudat.

Feedback: Am'am incercat multe dintre retete a oferit răspunsuri și comentarii. Mai întâi de toate, nu am fost interesat în accidente care aduc Albastru (ca's de ce am descris un freeze, nu un accident).

Trebuie să mărturisesc că Windows 10 64-bit a arătat o bună rezistență la multe dintre moduri. Acesta se descurcă cu aproape orice CPU-load metoda (inclusiv furca-bombă, bucle, etc.) destul de bine. Metode care ridica imediat erori (cele mai multe dintre NotMyFault stea metode) sunt gestionate de către sistemul de OPERARE cu reboot sau shutdown (care nu este ceea ce am urmărit). Cele mai bune rezultate au fost obținute prin: * scurgere de memorie metode de NotMyFault** — real înghețe cu nici o șansă de a reporni.

În cele din urmă, am fost impresionat de cantitatea de documentare de către Microsoft, care vorbește despre a face Windows congela. Se pare că ei știu că această parte de mult mai bine decât invers (lupta îngheață) ;-)

Comentarii la întrebare (10)
Soluția

Poate asta te poate ajuta: Forțându-un Accident de Sistem de la Tastatură

Cu tastaturi USB, trebuie să activați tastatură-a inițiat în accident registru. În cheie de registry HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\kbdhid\Parametrii, creați o valoare numit CrashOnCtrlScroll, și setați-l la un egal REG_DWORD valoarea de 0x01.

trebuie să reporniți sistemul pentru aceste setări să aibă efect.

După ce aceasta este finalizată, tastatura accident poate fi inițiată prin utilizarea următoarele taste ordine: Țineți apăsat butonul din dreapta tasta CTRL, și apăsați tasta SCROLL LOCK de două ori.

Sau ai putea începe o bombă: a se vedea acest lucru ATÂT de întrebare

Există, de asemenea, NotMyFault

Notmyfault este un instrument care se poate utiliza la accident, atârnă, și că kernel-ul de memorie scurgeri de pe sistemul de operare Windows. Este util pentru a învăța cum să identifice și să diagnosticheze driver de dispozitiv și hardware probleme, și, de asemenea, puteți folosi pentru a genera ecran albastru de fișiere imagine de pe incorect sisteme.

Comentarii (3)

Se pare ca tu're testarea de reacție a unui dispozitiv extern la un sistem de OPERARE de a deveni nu raspund.

Dacă hardware-ul poate fi conectat la un virtualizate de instalare Windows, atunci puteți întrerupe și relua mașină virtuală ori de câte ori doriți. Instala sistemul de OPERARE dorit într-un VirtualBox (sau alte virtualizare desktop) mediu, expune orice interfață hardware este utilizat (USB, Ethernet, sau orice altceva) la VM.

Puteți apoi pauză și a relua mașini virtuale la va.

Comentarii (0)

Cel puțin în conformitate cu o mai veche versiune de Windows (acum câțiva ani) următoarele lucrat:

Am scris un program C cu o buclă fără sfârșit:

while(1) {}

... apoi i-am dat programul "în timp real prioritate" în task manager (există, de asemenea, un API care poate face acest lucru).

Pe un sistem multi-core mi-ar trebui pentru a face acest lucru de mai multe ori, astfel încât o buclă se execută pe fiecare core...

Comentarii (10)

Cel mai puternic nucleu atârnă (de exemplu, nu mouse-ul de urmărire, etc.) este atunci când codul merge într-o buclă infinită în modul kernel cu întrerupe off.

L's posibil pentru a realiza acest lucru cu un driver de dispozitiv, și chiar mai bine, puteți scrie driver-ul, astfel încât acesta începe și se oprește atarna sub control (presupunând infinite loop testează condiția te're in control).

Cum de a scrie și de a instala acest driver ar fi subiect de o altă întrebare sau trei, dar care's o abordare pe care eu'd ia.

Comentarii (0)

Vă rugăm să verificați următoarea întrebare pe StackOverflow, care este similară cu a ta: Cum sa faci windows congela pentru o perioadă scurtă de time

Tl;dr e că nu's nici o modalitate de a (fiabil) o fac.

Mai degrabă decât de congelare sau obtinerea Windows pentru a închide, poate te pot întrerupe comunicarea cu echipamentul.

Nu am nici o idee ce echipamentul este și cum îl conectați. Daca's USB sau Ethernet adapter, e.g, ai putea dezactiva cu ușurință în Device Manager sau deconectați? Dacă ați forțat accident sau bloca sistemul s-ar putea deteriora sistemul dumneavoastră în diferite moduri, astfel încât să fie atent cu ceea ce faci.

Comentarii (1)

Este kernel modul de depanare nu este o opțiune?

Am'am înființat în Windows 7, și legate instrucțiuni în acest răspuns specifica XP sau mai târziu, așa că ar trebui să lucreze cu Windows 10.

Am've - l înființat pe FireWire/1394, deoarece's cel mai simplu, în opinia mea. Dar puteți, de asemenea, o faci în rețea sau USB (și mai mult).

Practic,

Configurare calculator țintă prin rularea aceste comenzi într-o elevată prompt (cules un canal "n"):

bcdedit /debug on
bcdedit /dbgsettings 1394 channel:n

Care este aceeași ca merge la fila boot de "msconfig" și selectând 'Avansat' butonul:

Apoi (după repornirea computerului țintă), rula WinDbg pe computerul gazdă utilizează aceeași bitness de WinDbg din calculator țintă.

Apoi se'e doar o chestiune de întreruperea kernel executarea ori de câte ori doriți de la computerul gazdă. Dacă echipamentul de încercare are un asincrone operație care se execută acest lucru ar trebui să fie la fel de eficace ca alte mijloace.

Comentarii (1)

Acest bug îngheață Windows destul de repede din cauza resurselor obositor. Ușor de a reproduce prea.

după Cum se pare, aceasta este de fapt - o bug în modul linie de comandă (mai precis cmd.exe) analizează lot fișiere și ar putea duce la o rapidă denial of service tip de atac; punerea următoarea linie într-un fișier batch (cu linii) va consuma cantități masive de memorie foarte rapid din cauza acestui bug (ca o de exemplu):

^ nul<^

poveste Lungă scurt, atunci când o caret este la sfârșitul fișierului, real sfârșitul de fișier este 'ignorat' și fișierul ocupa 'reseta' la 0 (în esență), astfel că lotul este analizat din nou (ad infinitum).

Comentarii (0)

Eu nu't știu dacă asta se poate numi un total îngheța din cauza cursorul mouse-ului se mișcă pe ecran, dar Windows 7 UI devine nu răspunde dacă aveți dispozitiv I/O de erori, mai precis un eșec hard disk. Unul dintre hard disk-uri a fost de auto-raportare iminent disk eșec prin SMART și Windows 7 ar monta dar stai, ori de câte ori am încercat pentru a accesa anumite fișiere salvate pe acesta. UI-ar bloca (cu excepția pentru mișcarea cursorului mouse-ului) pentru până la 5 minute, până când acesta fie poate citi fișierul sau demontat unitatea după time-out. Eu nu't știu dacă Windows utilizează sistemul ceas pentru timeout, dar poate daca ai cumva congela timp, puteți prelungi durata de lungime? Poate o parte din drum acolo, dar nu 100% răspunsul're în căutarea pentru.

Comentarii (0)

Aici's codul sursă al unei aplicații care folosesc în depanare lecții. Ea arată cum un modul utilizator aplicație poate efectua un fel de atac DoS.

Te'll observa că cursorul mouse-ului se mișcă foarte rar (o dată la fiecare unsprezece secunde pe masina mea). Potențial PC-ul va mai reacționa pe butonul de Alimentare dacă aștepți destul de mult.

Acesta funcționează folosind o buclă fără sfârșit și setarea cea mai mare prioritate a procesului (0x100 "în timp real") și setarea cea mai mare prioritate pentru fire (15 "critic"). Acesta va începe pe 8 dintre ele, ceea ce este suficient pentru i7 calculatoare. Dacă aveți nevoie de mai mult, de a se adapta bucla. Mai multe dintre ele ar putea încetini și mai mult lucrurile.


#include "stdafx.h"
#include 
#include 
#include 
#include 

void WasteTime()
{
    int priority = 15;
    ::SetThreadPriority(::GetCurrentThread(), priority);
    while (true)
    {
    }
}

int _tmain(int argc, _TCHAR* argv[])
{
    ::SetPriorityClass(::GetCurrentProcess(), 0x100);
    for(int i=0; i
Comentarii (10)

Ai încercat CPUEater utility, care este la pachet cu Process Lasso ? Ps. Eu nu lucrez pentru bitsum.

Comentarii (5)

Dacă tu într-adevăr vrei pentru a bloca PC-ul, totul făcându-l să doar freeze, pur și simplu folosi tot RAM și forța pagina de memorie. Care va merge dincolo de simpla congelare și într-adevăr doar de suprasarcină lucru, astfel încât să puteți't chiar de a folosi Task Manager, nu chiar de la tastatură. Chiar și atunci când procesul este terminat, se va lua o lungă perioadă de timp pentru PC-ul pentru a recupera. (It's cele mai bune!)

Ai putea, de exemplu, a crea o clasă cu un pointer la sine, și într-o buclă în timp ce, de a crea o nouă instanță a acelei clase pentru totdeauna, stocarea fiecare nouă instanță în instanță anterioară's pointer. Poate adăuga unele duble sau vectori la clasă, pentru a consuma memorie mai repede. Atunci ai putea avea un cronometru care iese din buclă în timp ce și deconstruiește totul; desigur,'ll trebui să așteptați un pic pentru a recupera.

Comentarii (0)

Aș sugera pur și simplu a crea un fișier batch, cu următorul cod:

@echo off
:x
start cmd.exe
start explorer.exe
start calc.exe
start notepad.exe
start iexplorer.exe
start paint.exe
goto x

Aceasta este, probabil, cel mai simplu și cel mai sigur mod de a face asta. Puteți înlocui procesul nume cu orice aplicații windows.

Comentarii (1)
  1. Du-te la C:\Windows\Temp\
  2. A lovit Ctrl-a pentru a Selecta Toate
  3. A Lovi Enter
Comentarii (3)