windbg

所属分类:其他
开发工具:Others
文件大小:49782KB
下载次数:2
上传日期:2019-01-27 16:12:45
上 传 者Jack666
说明:  Debugging Tools for Windows 10 (WinDbg) If you just need the Debugging Tools for Windows 10, and not WDK 10 or Visual Studio 2015, you can install the debugging tools as a standalone component from Windows SDK. In the installation wizard, select Debugging Tools for Windows, and deselect all other co

文件列表:
x64 (0, 2018-01-06)
x64\1394 (0, 2018-01-06)
x64\1394\1394dbg.cat (8447, 2017-06-13)
x64\1394\1394dbg.inf (3402, 2017-06-12)
x64\1394\1394kdbg.sys (54080, 2017-06-13)
x64\DbgModel.dll (654656, 2017-06-13)
x64\KernelDumpDecrypt.exe (40256, 2017-06-13)
x64\Kernel_Debugging_Tutorial.doc (1196032, 2016-11-30)
x64\SymbolCheck.dll (39232, 2017-06-13)
x64\VerifiedNICList.xml (13228, 2016-11-30)
x64\Visualizers (0, 2018-01-06)
x64\Visualizers\Kernel.natvis (54556, 2016-11-30)
x64\Visualizers\Windows.Data.Json.natvis (4235, 2016-11-30)
x64\Visualizers\Windows.Devices.Geolocation.natvis (6133, 2016-11-30)
x64\Visualizers\Windows.Devices.Sensors.natvis (8623, 2016-11-30)
x64\Visualizers\Windows.Media.natvis (20737, 2016-11-30)
x64\Visualizers\atlmfc.natvis (7172, 2016-11-30)
x64\Visualizers\concurrency.natvis (40526, 2016-11-30)
x64\Visualizers\cpp_rest.natvis (3662, 2016-11-30)
x64\Visualizers\stl.natvis (54329, 2016-11-30)
x64\Visualizers\windows.natvis (68188, 2016-11-30)
x64\Visualizers\winrt.natvis (45721, 2016-11-30)
x64\adplus.doc (72192, 2016-11-30)
x64\adplus.exe (94520, 2017-06-13)
x64\adplus_old.vbs (188720, 2016-11-30)
x64\adplusext.dll (30528, 2017-06-13)
x64\adplusmanager.exe (78144, 2017-06-13)
x64\adplusmanager.exe.config (2068, 2016-11-30)
x64\agestore.exe (36672, 2017-06-13)
x64\api-ms-win-eventing-provider-l1-1-0.dll (18752, 2017-06-13)
x64\breakin.exe (28992, 2017-06-13)
x64\cdb.exe (169792, 2017-06-13)
x64\convertstore.exe (35648, 2017-06-13)
x64\dbengprx.exe (128320, 2017-06-13)
x64\dbgcore.dll (166720, 2017-06-13)
x64\dbgeng.dll (6210368, 2017-06-13)
x64\dbghelp.chm (418558, 2016-11-30)
x64\dbghelp.dll (1643840, 2017-06-13)
x64\dbgrpc.exe (53056, 2017-06-13)
x64\dbgsrv.exe (62272, 2017-06-13)
... ...

Microsoft(R) Debugging Tools for Windows(R) DbgExts.dll DBGENG Sample Extension README Overview This extension DLL shows how to write a debugger engine-style extension and demonstrates use of a few APIs required by and provided to extension DLLs. ---------- Required and Optional Initialization This mandatory routine must be implemented and exported for debugger engine style extensions: HRESULT CALLBACK DebugExtensionInitialize(PULONG Version, PULONG Flags) This is called on loading of the extension DLL. Global variables and flags for the extension should be initialized in this routine. One of the useful things that is done in this routine is to initialize "ExtensionApis" as a WINDBG_EXTENSION_APIS global variable from the lpExtensionApis parameter. lpExtensionApis has pointers to some commonly used APIs for memory reads and I/O. This function should return the extension version in *Version. Flags is a reserved parameter for future use and should be set to 0. A debug session may not be active when the extension DLL is loaded so initialization code here should not presume to be able to query for debug session information. All new dbgeng interface-style extensions can be identified by the presence of the DebugExtensionInitialize export. These next two routines are optional but it is recommended to implement these routines in a debugger extension for better control of the debug session: CALLBACK DebugExtensionNotify(ULONG Notify, ULONG*** Argument) This is used to notify the extension DLL of changes in debug session states, e.g. when the session becomes accessible etc. Look at the DEBUG_NOTIFY* definitions in dbgeng.h for argument values (active, inactive, accessible, inaccessible). Use of this function allows an extension to cache debug session related info without needing to register explicit callbacks. CALLBACK DebugExtensionUninitialize(void) This is called when a DLL is unloaded and can be used for cleanup related code. ---------- Anatomy of an Extension Call A debugger extension is a function with the following declared type: HRESULT CALLBACK DebugExtensionCall(PDEBUG_CLIENT Client, PCSTR args) Where "DebugExtensionCall" is an actual name of the extension being implemented, such as "stack" for a !stack extension. This is the recommended function prototype to use but, in reality, extensions can use any prototype with one restriction - the function name must begin with _EFN_ to distinguish the function as an extension function some arbitrary, or normal, function. The debugger's IDebugControl::GetExtensionFunction automatically prepends _EFN_ when searching for the function in the extension DLL. The Client parameter is the initial pointer to the debug engine's IDebugClient interface. The args parameter is simply the command line argument string passed to the extension. It can be NULL or empty. An extension can return DEBUG_EXTENSION_CONTINUE_SEARCH if the extension cannot handle the request and in this case the debugger will search the next path in the extension DLL chain. In this sample, upon entering each extension, all required engine interfaces are queried from the DEBUG_CLIENT using the INIT_API() macro. The same interfaces are released using the EXIT_API() macro. INIT_API() simply encapsulates a call to ExtQuery() and EXIT_API encapsulates ExtRelease(). Any interfaces queried from the debugger engine should be released before exit. ---------- Extensions Implemented in this Sample cmdsample This demonstrates use of engine APIs like IDebugControl::Execute, Output and OutputStackTrace. structsample This shows how to read data from the target using helper definitions from the wdbgexts.h header file. More importantly, it shows how to use types to read values correctly so that the extension does not need to be rewritten when the type definition changes for the target. help Extension DLLs should implement one extension called 'help' which shows descriptions for the extension commands provided by the extension DLL.

近期下载者

相关文件


收藏者