Mavi ekran hata analizi nasıl yapılır?

Bu arada o rehber aşırı detaysız haberin olsun. Başlangıç düzeyde yani. Bir çok kişinin bilmediği o kadar komut var ki görseniz aklınız durur. Ben bile kaç vakit oldu hala çoğu komutu ya unuturum ya da karıştırırım. Bir ara komutları tuttuğum veritabanım bile vardı o kadar yani. Umarım bu yolda sıkılmadan ve bıkmadan ilerlersiniz.
 
Microsoft Store'dan WinDbg adlı yazılımı indiriyoruz. Ardından analiz etmek istediğimiz .dmp uzantılı dosyaları WinDbg ile açıyoruz.

Mesela ben bu konudaki dökümlerden birini analiz edeceğim:

Karşımıza böyle bir metin çıkıyor:
Kod:
Microsoft (R) Windows Debugger Version 10.0.20153.1000 AMD64
Copyright (c) Microsoft Corporation. All rights reserved.


Loading Dump File [C:\Users\yigit\Desktop\Minidump-20201106T210814Z-001\Minidump\100520-5609-01.dmp]
Mini Kernel Dump File: Only registers and stack trace are available


************* Path validation summary **************
Response Time (ms) Location
Deferred srv*
Symbol search path is: srv*
Executable search path is:
Windows 10 Kernel Version 15063 MP (4 procs) Free x64
Product: WinNt, suite: TerminalServer SingleUserTS
Edition build lab: 15063.0.amd64fre.rs2_release.170317-1834
Machine Name:
Kernel base = 0xfffff801`15609000 PsLoadedModuleList = 0xfffff801`159585c0
Debug session time: Mon Oct 5 22:47:03.333 2020 (UTC + 3:00)
System Uptime: 0 days 0:00:33.058
Loading Kernel Symbols
...............................................................
................................................................
...........................................
Loading User Symbols
Loading unloaded module list
...............
For analysis of this file, run !analyze -v
nt!KeBugCheckEx:
fffff801`1578a420 48894c2408      mov     qword ptr [rsp+8],rcx ss:0018:ffff9100`b55dc1c0=000000000000003b

For analysis of this file, run !analyze -v kısmındaki !analyze -v düğmesine basıyoruz. Bu, bize dosyayı analiz ediyor.

Karşımıza aşağıdaki gibi bir döküm çıkıyor:
Kod:
0: kd> !analyze -v
*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************

SYSTEM_SERVICE_EXCEPTION (3b)
An exception happened while executing a system service routine.
Arguments:
Arg1: 00000000c0000005, Exception code that caused the bugcheck
Arg2: fffff8011a109b22, Address of the instruction which caused the bugcheck
Arg3: ffff9100b55dca90, Address of the context record for the exception that caused the bugcheck
Arg4: 0000000000000000, zero.

Debugging Details:
------------------

*** WARNING: Unable to verify timestamp for nvlddmkm.sys

KEY_VALUES_STRING: 1

    Key  : Analysis.CPU.mSec
    Value: 2906

    Key  : Analysis.DebugAnalysisProvider.CPP
    Value: Create: 8007007e on DESKTOP-62N06FT

    Key  : Analysis.DebugData
    Value: CreateObject

    Key  : Analysis.DebugModel
    Value: CreateObject

    Key  : Analysis.Elapsed.mSec
    Value: 30694

    Key  : Analysis.Memory.CommitPeak.Mb
    Value: 72

    Key  : Analysis.System
    Value: CreateObject

    Key  : WER.OS.Branch
    Value: rs2_release

    Key  : WER.OS.Timestamp
    Value: 2017-03-17T18:34:00Z

    Key  : WER.OS.Version
    Value: 10.0.15063.0


ADDITIONAL_XML: 1

OS_BUILD_LAYERS: 1

BUGCHECK_CODE:  3b

BUGCHECK_P1: c0000005

BUGCHECK_P2: fffff8011a109b22

BUGCHECK_P3: ffff9100b55dca90

BUGCHECK_P4: 0

CONTEXT:  ffff9100b55dca90 -- (.cxr 0xffff9100b55dca90)
rax=ffffa28f402f6250 rbx=ffffa28f3fdf52d0 rcx=0000000000000000
rdx=0000000000000008 rsi=0000000000000000 rdi=0000000000000009
rip=fffff8011a109b22 rsp=ffff9100b55dd480 rbp=ffff9100b55dd580
r8=000000000000000b  r9=0000000000000000 r10=ffff9100b55dcf48
r11=00007ffffffeffff r12=fffff8011a9dbe6d r13=00000000c000008b
r14=ffff9100b55dd588 r15=0000000000000004
iopl=0         nv up ei ng nz ac po cy
cs=0010  ss=0018  ds=002b  es=002b  fs=0053  gs=002b             efl=00010297
nvlddmkm+0x1b9b22:
fffff801`1a109b22 488b4230        mov     rax,qword ptr [rdx+30h] ds:002b:00000000`00000038=????????????????
Resetting default scope

CUSTOMER_CRASH_COUNT:  1

PROCESS_NAME:  dwm.exe

STACK_TEXT:
ffff9100`b55dd480 ffffa28f`3ebd5680     : 00000000`00000000 00000000`00000010 00000000`00000000 fffff801`00000001 : nvlddmkm+0x1b9b22
ffff9100`b55dd488 00000000`00000000     : 00000000`00000010 00000000`00000000 fffff801`00000001 ffff9100`b55dd4e4 : 0xffffa28f`3ebd5680


SYMBOL_NAME:  nvlddmkm+1b9b22

MODULE_NAME: nvlddmkm

IMAGE_NAME:  nvlddmkm.sys

STACK_COMMAND:  .cxr 0xffff9100b55dca90 ; kb

BUCKET_ID_FUNC_OFFSET:  1b9b22

FAILURE_BUCKET_ID:  0x3B_c0000005_nvlddmkm!unknown_function

OS_VERSION:  10.0.15063.0

BUILDLAB_STR:  rs2_release

OSPLATFORM_TYPE:  x64

OSNAME:  Windows 10

FAILURE_ID_HASH:  {63c41bff-3ea4-15a0-a72c-26a548d17abe}

Followup:     MachineOwner
---------

Döküm dosyasının başında bir hata kodu var. Mesela bu hatanın kodu SYSTEM_SERVICE_EXCEPTION. Gözlemlerime göre bu, çoğunlukla bellek veya sabit sürücü kaynaklı oluyor.

Tabii, hatadan hataya değişiklik gösterebiliyor. Hangi hata kodunun hangi durumlarda çıkabileceğini, ne anlama geldiğini öğrenmek için bir miktar İngilizce bilginizin olması ve biraz tecrübe kazanmanız gerek.

Gelelim MODULE_NAME ve IMAGE_NAME kısımlarına. Bu, bize hangi imajın sorun çıkarttığını gösteriyor. Mesela bu arkadaş bu dökümde nvlddmkm.sys dosyası kaynaklı bir hata almış. Bu bir NVIDIA sürücü dosyası, dolayısıyla GPU'nun sorunlu olma ihtimali yüksek.

Sürücü sorunu olabilme ihtimaliyle arkadaşa DDU ile sürücülerini kaldırıp yeniden kurmasını öneriyoruz.

Temelde bu şekilde mavi ekran analizi yapılıyor.

Çok fazla detay vermek istemiyorum. Çünkü bu sefer mavi ekranın M'sini anlamayanlar boş boş yorum yapıyor "vay efendim şunu kaldır, bunu kaldır, şöyle yap, böyle yap" diye. Mesela geçen haftalarda birisi -sorunun kaynağı Steam olmamasına rağmen- bir yerde Steam'i gördüğü için Steam'i kaldırmasını söylemişti.

Aslında bu hâliyle bile çok fazla detay verdim bence.

Neyse, analiz için daha bir sürü detay ve komut var. Bunları öğrenmeyi size bırakıyorum. Bunun için Microsoft'un WinDbg için hazırladığı sayfadan yararlanabilirsiniz.

Ayrıca Technopat'ın mavi ekran analiz rehberlerinden de yararlanabilirsiniz.

Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.
Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.
Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.
Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.
 
Son düzenleme:
Microsoft Store'dan WinDbg adlı yazılımı indiriyoruz. Ardından analiz etmek istediğimiz .dmp uzantılı dosyaları windbg ile açıyoruz.

Mesela ben bu konudaki dökümlerden birini analiz edeceğim:

Karşımıza böyle bir metin çıkıyor:
Kod:
Microsoft (R) Windows Debugger Version 10.0.20153.1000 AMD64.
Copyright (c) Microsoft Corporation. All rights reserved.

Loading Dump File [C:\Users\yigit\Desktop\Minidump-20201106T210814Z-001\Minidump\100520-5609-01.dmp]
Mini Kernel Dump File: Only registers and stack trace are available.

************* Path validation summary **************
Response Time (ms) Location.
Deferred srv*
Symbol search path is: srv*
Executable search path is:
Windows 10 Kernel Version 15063 MP (4 procs) Free x64.
Product: WinNt, suite: TerminalServer SingleUserTS.
Edition build lab: 15063.0.amd64fre.rs2_release.170317-1834.
Machine Name:
Kernel base = 0xfffff801`15609000 PsLoadedModuleList = 0xfffff801`159585c0.
Debug session time: Mon Oct 5 22:47:03.333 2020 (UTC + 3:00)
System Uptime: 0 days 0:00:33.058.
Loading Kernel Symbols.
...............................................................
................................................................
...........................................
Loading User Symbols.
Loading unloaded module list.
...............
For analysis of this file, run !analyze -v.
nt!KeBugCheckEx:
fffff801`1578a420 48894c2408 mov qword ptr [rsp+8],rcx ss:0018:ffff9100`b55dc1c0=000000000000003b.

For analysis of this file, run !analyze -v kısmındaki !analyze -v düğmesine basıyoruz. Bu, bize dosyayı analiz ediyor.

Karşımıza aşağıdaki gibi bir döküm çıkıyor:
Kod:
0: kd> !analyze -v.
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************

SYSTEM_SERVICE_EXCEPTION (3b)
An exception happened while executing a system service routine.
Arguments:
Arg1: 00000000c0000005, Exception code that caused the bugcheck.
Arg2: fffff8011a109b22, Address of the instruction which caused the bugcheck.
Arg3: ffff9100b55dca90, Address of the context record for the exception that caused the bugcheck.
Arg4: 0000000000000000, zero.

Debugging Details:
------------------

*** WARNING: Unable to verify timestamp for nvlddmkm.sys.

KEY_VALUES_STRING: 1.

Key : Analysis.CPU.mSec.
Value: 2906.

Key : Analysis.DebugAnalysisProvider.CPP.
Value: Create: 8007007e on DESKTOP-62N06FT.

Key : Analysis.DebugData.
Value: CreateObject.

Key : Analysis.DebugModel.
Value: CreateObject.

Key : Analysis.Elapsed.mSec.
Value: 30694.

Key : Analysis.Memory.CommitPeak.Mb.
Value: 72.

Key : Analysis.System.
Value: CreateObject.

Key : WER.OS.Branch.
Value: rs2_release.

Key : WER.OS.Timestamp.
Value: 2017-03-17T18:34:00Z.

Key : WER.OS.Version.
Value: 10.0.15063.0.

ADDITIONAL_XML: 1.

OS_BUILD_LAYERS: 1.

BUGCHECK_CODE: 3b.

BUGCHECK_P1: c0000005.

BUGCHECK_P2: fffff8011a109b22.

BUGCHECK_P3: ffff9100b55dca90.

BUGCHECK_P4: 0.

CONTEXT: ffff9100b55dca90 -- (.cxr 0xffff9100b55dca90)
rax=ffffa28f402f6250 rbx=ffffa28f3fdf52d0 rcx=0000000000000000.
rdx=0000000000000008 rsi=0000000000000000 rdi=0000000000000009.
rip=fffff8011a109b22 rsp=ffff9100b55dd480 rbp=ffff9100b55dd580.
r8=000000000000000b r9=0000000000000000 r10=ffff9100b55dcf48.
r11=00007ffffffeffff r12=fffff8011a9dbe6d r13=00000000c000008b.
r14=ffff9100b55dd588 r15=0000000000000004.
iopl=0 nv up ei ng nz ac po cy.
cs=0010 ss=0018 ds=002b es=002b fs=0053 gs=002b efl=00010297.
nvlddmkm+0x1b9b22:
fffff801`1a109b22 488b4230 mov rax,qword ptr [rdx+30h] ds:002b:00000000`00000038=????????????????
Resetting default scope.

CUSTOMER_CRASH_COUNT: 1.

PROCESS_NAME: dwm.exe.

STACK_TEXT:
ffff9100`b55dd480 ffffa28f`3ebd5680 : 00000000`00000000 00000000`00000010 00000000`00000000 fffff801`00000001 : nvlddmkm+0x1b9b22.
ffff9100`b55dd488 00000000`00000000 : 00000000`00000010 00000000`00000000 fffff801`00000001 ffff9100`b55dd4e4 : 0xffffa28f`3ebd5680.

SYMBOL_NAME: nvlddmkm+1b9b22.

MODULE_NAME: nvlddmkm.

IMAGE_NAME: nvlddmkm.sys.

STACK_COMMAND: .cxr 0xffff9100b55dca90 ; kb.

BUCKET_ID_FUNC_OFFSET: 1b9b22.

FAILURE_BUCKET_ID: 0x3B_c0000005_nvlddmkm!unknown_function.

OS_VERSION: 10.0.15063.0.

BUILDLAB_STR: rs2_release.

OSPLATFORM_TYPE: x64.

OSNAME: Windows 10.

FAILURE_ID_HASH: {63c41bff-3ea4-15a0-a72c-26a548d17abe}

Followup: MachineOwner.
---------

Döküm dosyasının başında bir hata kodu var. Mesela bu hatanın kodu SYSTEM_SERVICE_EXCEPTION. Gözlemlerime göre bu, çoğunlukla bellek veya sabit sürücü kaynaklı oluyor.

Tabii, hatadan hataya değişiklik gösterebiliyor. Hangi hata kodunun hangi durumlarda çıkabileceğini, ne anlama geldiğini öğrenmek için bir miktar İngilizce bilginizin olması ve biraz tecrübe kazanmanız gerek.

Gelelim MODULE_NAME ve IMAGE_NAME kısımlarına. Bu, bize hangi imajın sorun çıkarttığını gösteriyor. Mesela bu arkadaş bu dökümde nvlddmkm.sys dosyası kaynaklı bir hata almış. Bu bir NVIDIA sürücü dosyası, dolayısıyla GPU'nun sorunlu olma ihtimali yüksek.

Sürücü sorunu olabilme ihtimaliyle arkadaşa DDU ile sürücülerini kaldırıp yeniden kurmasını öneriyoruz.

Temelde bu şekilde mavi ekran analizi yapılıyor. Tabii, daha bir sürü detay ve bir sürü komut var. Bunları öğrenmeyi size bırakıyorum. Bunun için Microsoft'un windbg için hazırladığı sayfadan yararlanabilirsiniz.

Ayrıca Technopat'ın mavi ekran analiz rehberlerinden de yararlanabilirsiniz.

Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.
Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.
Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.
Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.

Teşekkür ederim hocam 👍 böyle antrenman yapa yapa öğreneceğim artık YouTube'dan falan da izleyeceğim ve araştıracağım.
 

Geri
Yukarı