. , . , , , . , Win32 (32- Windows Microsoft).
, , - . , 32- Windows, . , -. (MinDBG) , . (WDBG) Microsoft Windows, , , , , (GUI). WDBG , , , (symbol files).
, , : ( ) (debugger) (debuggee). , , , , . , .
Windows, , , , . Windows : (user-mode debuggers) (kernel-mode debuggers).
. , (user-mode applications). Microsoft Visual C++. , , , . , ( , ) .
, , GUI-, , (services) Windows 2000. , (GUI1). ( API) Win32. " ", , , , API- IsDebuggerPresent.
API Win32 : API ( , , ), . , , . ( -).
GUI Graphical User Interface. .
(run-time) , , , API Win32. : Java- (JVM) Microsoft Sun, Web- Microsoft, - Microsoft Visual Basic.
Visual Basic 7, , - Visual Basic . Java , . Microsoft JVM "Debugging and Profiling Java Applications" ( Java) MSDN. JVM. MSDN "Active Script Debugging API Objects" ( API-). JVM, .
API Win32 . : Visual C++, 5 6; Windows (WinDBG), ( ); BoundsChecker Compuware NuMega; Platform SDK HeapWalker; Platform SDK Depends; Borland Delphi C++ Builder, NT Symbolic Debugger (NTSD). , .
CPU . , , , . , , . -, , ( " SoftlCE" ), .
. : Windows 80386 Debugger (WDEB386), Kernel Debugger (1386KD), WinDBG SoftlCE. .
WDEB386
WDEB386 Windows 98, Platform SDK. , Windows 98 (VxD). Windows, WDEB386 - . , , , , .
WDEB386 . Microsoft Windows 3.0. , , Visual C++ Visual Basic.
"" (DOT) WDEB386. INT 41 WDEB386 . VxD- , . Windows 98 DOT-, .
I386KD
Windows 2000 Windows 98 , NTOSKRNL.EXE Windows 2000. (), () . , /DEBUG BOOT.INI , , /DEBUGPORT, , (1). I386KD Windows 2000 -.
NTOSKRNL.EXE , CPU, . , 1386KD. Windows NT 4 Device Driver Kit (DDK) , -. Microsoft .
1386KD , , Windows 2000. Windows 2000 . , i386KD , , .
Win DBG
WinDBG , Platform SDK. http://msdn.microsoft.com/developer/sdVdebidt.asp. , , , WinDBG . WinDBG i386KD, GUI-, . WinDBG , .
WinDBG , , . WinDBG , Visual C++, , . : WinDBG , Visual C++. WinDBG. , Visual C++. , , 70% Visual C++, WinDBG.
WinDBG , (Command). Visual C++, WinDBG . WinDBG . , , Command , GUI-.
WinDBG , , WinDBG-. Visual C++ , WinDBG API-, , , . WinDBG- "Debugger Extension" ( ) MSDN.
WinDBG, Visual C++, WinDBG . . . , , .
WinDBG , , . Command , .
, Visual C++, WinDBG , , Windows 2000 Windows NT 4: WinDBG , Dr. Watson. , , . , , "Bugslayer" "Microsoft Systems Journal" 1999 2000.
, WinDBG , Visual C++. , WinDBG. , , , Visual C++. WinDBG , .
SoftICE
SoftICE Compuware NuMega. , , . , , SoftICE . , CPU . SoftICE CPU , , .
, , SoftICE . : " , , ?" API-, SendMessageTimeout, -, GUI-. SoftICE, "" , , SendMessageTimeout, , SoftICE. SoftICE , . , SoftICE , , , .
SoftICE CPU , . - , . , , SoftICE .
SoftICE , . SoftICE 1386, 4- . , , . SoftICE , . , .
SoftICE, , , , , . 1386KD WinDBG , SoftICE . SoftICE HWND- .
, - . , SoftICE , , , . .
, ?
Windows 2000 , , ,
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion \AeDebug
Windows 98 "" [AeDebug] WIN.INI. ( ) , Windows 2000 . - , Windows 2000
, . Windows 98 , Details, , .
(Windows 2000) [AeDebug] (Windows 98) :
Auto
Debugger
UserDebuggerHotKey
Auto 0, Cancel (Windows 2000) Debug (Windows 98) , . Auto 1, . Debugger , . : . UserDebuggerHotKey , . , " " .
AeDebug , Dr. Watson ( Windows 2000), WinDBG Visual C++ . Dr. Watson WinDBG -I, . Visual C++ , , Just-In-Time Debugging Debug Options ( ToolsjOptions... IDE Microsoft Visual C++).
AeDebug, , , Debugger, , , API- wsprintf:
drwtsn32 -p %d -e %d -g
-p (ID) , - , , . , .
Windows 2000 API-, . , , . .
, Windows 2000 (debug heap) . heap- - . API- HeapCreate. ("") - 15. heap- Windows 2000 , , . , , heap- Windows 2000 .
, , HeapFree, "". 4-1 , . , , DebugBreak ( HeapFree). , , heap- .
HEAP[Heaper.exe]: Heap block at 00441E98 modified at 00441EAA past
requested size of a
HEAP[Heaper.exe]: Invalid Address specified to
RtlFreeHeapt 440000, 441eaO)
, - .
Windows 2000 2 heap-, , . Platform SDK GFLAGS.EXE. , . , HEAPER.EXE, . 4.1.
Heap - "", . .
, . . , HeapCreate. .
CD. .
, , 4-1. .
System Registry Kernel Mode Destination Global Flags . , . Destination Image File Options , ( Image File Name).
. 4.1. GFLAGS.EXE
4-1. heap- Windows 2000
void main(void)
// heap- .
HANDLE hHeap = HeapCreate ( 0, 128, 0) ;
// 10 .
LPVOID pMem = HeapAlloc ( hHeap, 0, 10);
// 12 10- ( heap-).
memset ( pMem, OxAC, 12);
// 20 .
LPVOID pMem2 = HeapAlloc ( hHeap, 0, 20);
// 1 .
char * pUnder = (char *)( (DWORD)pMem2 - 1);
*pUnder = 'P';
// . HeapFree
// heap-
// .
HeapFree ( hHeap, 0, pMem);
// . ,
//
HeapFree ( hHeap, 0, pMem2);
// . ,
//
HeapFree ( hHeap, , (LPVOID)Oxl); HeapDestroy ( hHeap);
}
, . 4.1, HEAPER.EXE, , :
PAGEHEAP: process 0x490 created debug heap 00430000
(flags 0xl, 50, 25, 0, 0)
PAGEHEAP: process 0x490 created debug heap 00CF0000
(flags Oxl, 50, 25, 0,- 0)
PAGEHEAP: process 0x490 created debug heap 01600000
(flags Oxl, 50, 25, 0, 0)
PAGEHEAP: Tail fill corruption detected:
Allocation at 0x01606FF0
Requested size 0x0000000A
Allocated size 0x00000010
Corruption at Ox01606FFA
PAGEHEAP: Attempt to reference block which is not allocated
, Global Flags.
GFLAGS.EXE, Show Loader Snaps. , , (snap) , , Windows 2000 DLL- . , Windows 2000 ( , ), . "Under the Hood" Microsoft Systems Journal 1999 .
, . Windows 2000 (out-of-process) - ( out-of-process servers). , API- DebugBreak. , , . -, Windows 2000. , DebugBreak , , , - , Windows 2000 . -, DebugBreak , -. DebugBreak, - -. , Windows 2000 , . . , Windows 2000, , Windows 2000.
. GFLAGS.EXE Image File Options (. . 4.1). Image File Name Debugger Image Debugger Options) .
: ( RegEdit).
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NTXCurrent Version\Image Tile Execution Options
, . , FOO.EXE, FOO.EXE. Debugger. ( ) . GFLAGS.EXE , GiobaiFiag.
. Debugger ( ). , WinDBG , WinDBG, Debugger d:\platform sdk\bin\windbg.exe -g.
. , <Ctrl>+<C> <Ctrl>+<Break> ( DBG_CONTROL_C) . .
Windows 2000, Windows NT 4 GUI-. <F12> ( ) DebugBreak. , , - , .
Windows NT 4 <F12> , Windows 2000 , .
HKEY_LOCAL_MACHINE\SOFTWARE\ Microsoft\WindowsNT\CurrentVersion\AeDebug
userDebuggerHotKey (VK_*). , <Scroll Lock> , UserDebuggerHotKey 0x91. .
10.11.2021 - 12:37: - Personalias -> WHO IS WHO - - _. 10.11.2021 - 12:36: - Conscience -> . ? - _. 10.11.2021 - 12:36: , , - Upbringing, Inlightening, Education -> ... - _. 10.11.2021 - 12:35: - Ecology -> - _. 10.11.2021 - 12:34: , - War, Politics and Science -> - _. 10.11.2021 - 12:34: , - War, Politics and Science -> . - _. 10.11.2021 - 12:34: , , - Upbringing, Inlightening, Education -> , - _. 10.11.2021 - 09:18: - New Technologies -> , 5G- - _. 10.11.2021 - 09:18: - Ecology -> - _. 10.11.2021 - 09:16: - Ecology -> - _. 10.11.2021 - 09:15: , , - Upbringing, Inlightening, Education -> - _. 10.11.2021 - 09:13: , , - Upbringing, Inlightening, Education -> - _. |