WDBGARK是用於Windows的Microsoft調試工具的擴展名(動態庫)。它的主要目的是使用內核調試器查看和分析Windows內核中的異常。可以查看各種系統回調,系統表,對像類型等。對於更多用戶友好的視圖擴展,使用DML。對於大多數命令,需要內核模式連接。隨時使用實時內核模式調試或內核模式崩潰轉儲分析的擴展名(某些命令將無效)。需要公共符號,因此請使用它們,強制重新加載它們,忽略校驗和問題,在分析之前準備它們,您會很高興。
不支持多個目標調試!
Windows Beta/RC由設計支持,但請閱讀一些註釋。首先,我不在乎檢查構建。其次,我不在乎您是否沒有符號(公共還是私人)。 IA64/ARM不受支持(也不會)。
來源被組織為視覺工作室2017解決方案。
啟用後構建事件以進行調試。它會自動將鏈接到WindBG插件文件夾鏈接的擴展名(例如x64目標:
"copy /B /Y "$(OutDir)$(TargetName)$(TargetExt)" "$(WindowsSdkDir)Debuggersx64winext$(TargetName)$(TargetExt)" )。
棄用。
是的,可以使用簡單的批處理腳本構建所有內容。
C:Program Files (x86)Windows Kits10Debuggersx64winextC:Program Files (x86)Windows Kits10Debuggersx86winext 0: kd> .load wdbgark
0: kd> .chain
Extension DLL search Path:
<...>
Extension DLL chain:
wdbgark: image 2.5.0.0, API 2.5.0, built Fri Oct 20 17:54:03 2017
[path: C:Program Files (x86)Windows Kits10Debuggersx64winextwdbgark.dll]
dbghelp: image 10.0.16299.15, API 10.0.6,
[path: C:Program Files (x86)Windows Kits10Debuggersx64dbghelp.dll]
ext: image 10.0.16299.15, API 1.0.0,
[path: C:Program Files (x86)Windows Kits10Debuggersx64winextext.dll]
exts: image 10.0.16299.15, API 1.0.0,
[path: C:Program Files (x86)Windows Kits10Debuggersx64WINXPexts.dll]
kext: image 10.0.16299.15, API 1.0.0,
[path: C:Program Files (x86)Windows Kits10Debuggersx64winextkext.dll]
kdexts: image 10.0.16299.15, API 1.0.0,
[path: C:Program Files (x86)Windows Kits10Debuggersx64WINXPkdexts.dll]
0: kd> !wdbgark.help
Commands for C:Program Files (x86)Windows Kits10Debuggersx64winextwdbgark.dll:
!help - Displays information on available extension commands
!wa_apiset - Output user-mode and/or kernel-mode ApiSet map
!wa_callouts - Output kernel-mode win32k callouts
!wa_checkmsr - Output system MSRs (live debug only!)
!wa_chknirvana - Checks processes for Hooking Nirvana instrumentation
!wa_cicallbacks - Output kernel-mode nt!g_CiCallbacks or nt!SeCiCallbacks
!wa_ciinfo - Output Code Integrity information
!wa_colorize - Adjust WinDBG colors dynamically (prints info with no
parameters)
!wa_crashdmpcall - Output kernel-mode nt!CrashdmpCallTable
!wa_drvmajor - Output driver(s) major table
!wa_eop - Checks processes for Elevation of Privilege
!wa_gdt - Output processors GDT
!wa_haltables - Output kernel-mode HAL tables: nt!HalDispatchTable,
nt!HalPrivateDispatchTable, nt!HalIommuDispatchTable
!wa_idt - Output processors IDT
!wa_lxsdt - Output the Linux Subsystem Service Descriptor Table
!wa_objtype - Output kernel-mode object type(s)
!wa_objtypecb - Output kernel-mode callbacks registered with
ObRegisterCallbacks
!wa_objtypeidx - Output kernel-mode nt!ObTypeIndexTable
!wa_pnptable - Output kernel-mode nt!PlugPlayHandlerTable
!wa_process_anomaly - Checks processes for various anomalies
!wa_psppico - Output kernel-mode Pico tables
!wa_scan - Scan system (execute all commands)
!wa_ssdt - Output the System Service Descriptor Table
!wa_systables - Output various kernel-mode system tables
!wa_systemcb - Output kernel-mode registered callback(s)
!wa_ver - Shows extension version number
!wa_w32psdt - Output the Win32k Service Descriptor Table
!wa_w32psdtflt - Output the Win32k Service Descriptor Table Filter
!wdrce_copyfile - Copy file (live debug only!)
!wdrce_cpuid - Execute CPUID instruction (live debug only!)
!help <cmd> will give more information for a particular command
問:擴展的主要目的是什麼?
答:嗯,首先是教育性的。第二,為了娛樂和利潤。
問:您知道Pykd嗎?我可以使用python腳本腳本腳本。
答:是的,我知道,但是C ++好多了。
問:1.0版在哪裡?
答:在Google代碼的空間中丟失。
問:項目何時開始?
答:2013年2月在Google代碼上。
問:我應該使用什麼版本?
答:請僅使用X64版本。在X64時代,我不知道為什麼您可能需要使用X86版本。 X64 WindBG能夠調試X86和X64。主機OS位是唯一的限制。
問:我該如何幫助?
答:傳播一個字。報告問題和功能請求。我願意接受任何建議。謝謝!
問:哪種內存轉儲最好與擴展名一起使用?
答:完整的內存轉儲。
問:如何報告問題?
答:隨時使用GitHub或直接通過電子郵件報告問題,但請附加完整的內存崩潰轉儲文件。
Wiki可以提供幫助。
該軟件在GNU GPL V3許可證下發布。請參閱複製文件以獲取完整的許可文本和此較小的添加。