dbghelp: Added a few extensions to make windbg happy.
This commit is contained in:
parent
39b725b799
commit
099cfeaac8
@ -24,6 +24,7 @@
|
|||||||
#include "winerror.h"
|
#include "winerror.h"
|
||||||
#include "psapi.h"
|
#include "psapi.h"
|
||||||
#include "wine/debug.h"
|
#include "wine/debug.h"
|
||||||
|
#include "wdbgexts.h"
|
||||||
|
|
||||||
WINE_DEFAULT_DEBUG_CHANNEL(dbghelp);
|
WINE_DEFAULT_DEBUG_CHANNEL(dbghelp);
|
||||||
|
|
||||||
@ -371,3 +372,20 @@ LPAPI_VERSION WINAPI ImagehlpApiVersionEx(LPAPI_VERSION AppVersion)
|
|||||||
|
|
||||||
return AppVersion;
|
return AppVersion;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/******************************************************************
|
||||||
|
* ExtensionApiVersion (DBGHELP.@)
|
||||||
|
*/
|
||||||
|
LPEXT_API_VERSION WINAPI ExtensionApiVersion(void)
|
||||||
|
{
|
||||||
|
static EXT_API_VERSION eav = {5, 5, 5, 0};
|
||||||
|
return &eav;
|
||||||
|
}
|
||||||
|
|
||||||
|
/******************************************************************
|
||||||
|
* WinDbgExtensionDllInit (DBGHELP.@)
|
||||||
|
*/
|
||||||
|
void WINAPI WinDbgExtensionDllInit(PWINDBG_EXTENSION_APIS lpExtensionApis,
|
||||||
|
unsigned short major, unsigned short minor)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
@ stdcall EnumDirTree(long str str ptr ptr ptr)
|
@ stdcall EnumDirTree(long str str ptr ptr ptr)
|
||||||
@ stub EnumerateLoadedModules64
|
@ stub EnumerateLoadedModules64
|
||||||
@ stdcall EnumerateLoadedModules(long ptr ptr)
|
@ stdcall EnumerateLoadedModules(long ptr ptr)
|
||||||
@ stub ExtensionApiVersion
|
@ stdcall ExtensionApiVersion()
|
||||||
@ stdcall FindDebugInfoFile(str str ptr)
|
@ stdcall FindDebugInfoFile(str str ptr)
|
||||||
@ stdcall FindDebugInfoFileEx(str str ptr ptr ptr)
|
@ stdcall FindDebugInfoFileEx(str str ptr ptr ptr)
|
||||||
@ stdcall FindExecutableImage(str str str)
|
@ stdcall FindExecutableImage(str str str)
|
||||||
@ -98,12 +98,14 @@
|
|||||||
@ stdcall SymUnloadModule(long long)
|
@ stdcall SymUnloadModule(long long)
|
||||||
@ stdcall UnDecorateSymbolName(str str long long)
|
@ stdcall UnDecorateSymbolName(str str long long)
|
||||||
@ stdcall UnmapDebugInformation(ptr)
|
@ stdcall UnmapDebugInformation(ptr)
|
||||||
@ stub WinDbgExtensionDllInit
|
@ stdcall WinDbgExtensionDllInit(ptr long long)
|
||||||
@ stub dbghelp
|
#@ stub dbghelp
|
||||||
#@ stub dh
|
#@ stub dh
|
||||||
|
#@ stub fptr
|
||||||
#@ stub lm
|
#@ stub lm
|
||||||
#@ stub lmi
|
#@ stub lmi
|
||||||
#@ stub omap
|
#@ stub omap
|
||||||
#@ stub srcfiles
|
#@ stub srcfiles
|
||||||
#@ stub sym
|
#@ stub sym
|
||||||
|
#@ stub symsvr
|
||||||
#@ stub vc7fpo
|
#@ stub vc7fpo
|
||||||
|
63
dlls/dbghelp/wdbgexts.h
Normal file
63
dlls/dbghelp/wdbgexts.h
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
/*
|
||||||
|
* File wdbgexts.h: definition of windbg extensions
|
||||||
|
* (dbghelp.dll is seen as a windbg extension)
|
||||||
|
*
|
||||||
|
* Copyright (C) 2005, Eric Pouech
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
* License as published by the Free Software Foundation; either
|
||||||
|
* version 2.1 of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
typedef struct EXT_API_VERSION
|
||||||
|
{
|
||||||
|
USHORT MajorVersion;
|
||||||
|
USHORT MinorVersion;
|
||||||
|
USHORT Revision;
|
||||||
|
USHORT Reserved;
|
||||||
|
} EXT_API_VERSION, *LPEXT_API_VERSION;
|
||||||
|
|
||||||
|
typedef void (*PWINDBG_OUTPUT_ROUTINE)(PCSTR, ...);
|
||||||
|
typedef ULONG_PTR (WINAPI *PWINDBG_GET_EXPRESSION)(PCSTR);
|
||||||
|
typedef void (WINAPI *PWINDBG_GET_SYMBOL)(void*, char*, ULONG_PTR*);
|
||||||
|
typedef ULONG (WINAPI *PWINDBG_DISASM)(ULONG_PTR*, PCSTR, ULONG);
|
||||||
|
typedef ULONG (WINAPI *PWINDBG_CHECK_CONTROL_C)(void);
|
||||||
|
typedef ULONG (WINAPI *PWINDBG_READ_PROCESS_MEMORY_ROUTINE)(ULONG_PTR, void*, ULONG, PULONG);
|
||||||
|
typedef ULONG (WINAPI *PWINDBG_WRITE_PROCESS_MEMORY_ROUTINE)(ULONG_PTR, const void*, ULONG, PULONG);
|
||||||
|
typedef ULONG (WINAPI *PWINDBG_GET_THREAD_CONTEXT_ROUTINE)(ULONG, PCONTEXT, ULONG);
|
||||||
|
typedef ULONG (WINAPI *PWINDBG_SET_THREAD_CONTEXT_ROUTINE)(ULONG, PCONTEXT, ULONG);
|
||||||
|
typedef ULONG (WINAPI *PWINDBG_IOCTL_ROUTINE)(USHORT, void*);
|
||||||
|
typedef struct _EXTSTACKTRACE
|
||||||
|
{
|
||||||
|
ULONG FramePointer;
|
||||||
|
ULONG ProgramCounter;
|
||||||
|
ULONG ReturnAddress;
|
||||||
|
ULONG Args[4];
|
||||||
|
} EXTSTACKTRACE, *PEXTSTACKTRACE;
|
||||||
|
typedef ULONG (WINAPI *PWINDBG_STACKTRACE_ROUTINE)(ULONG, ULONG, ULONG, PEXTSTACKTRACE, ULONG);
|
||||||
|
|
||||||
|
typedef struct _WINDBG_EXTENSION_APIS
|
||||||
|
{
|
||||||
|
ULONG nSize;
|
||||||
|
PWINDBG_OUTPUT_ROUTINE lpOutputRoutine;
|
||||||
|
PWINDBG_GET_EXPRESSION lpGetExpressionRoutine;
|
||||||
|
PWINDBG_GET_SYMBOL lpGetSymbolRoutine;
|
||||||
|
PWINDBG_DISASM lpDisasmRoutine;
|
||||||
|
PWINDBG_CHECK_CONTROL_C lpCheckControlCRoutine;
|
||||||
|
PWINDBG_READ_PROCESS_MEMORY_ROUTINE lpReadProcessMemoryRoutine;
|
||||||
|
PWINDBG_WRITE_PROCESS_MEMORY_ROUTINE lpWriteProcessMemoryRoutine;
|
||||||
|
PWINDBG_GET_THREAD_CONTEXT_ROUTINE lpGetThreadContextRoutine;
|
||||||
|
PWINDBG_SET_THREAD_CONTEXT_ROUTINE lpSetThreadContextRoutine;
|
||||||
|
PWINDBG_IOCTL_ROUTINE lpIoctlRoutine;
|
||||||
|
PWINDBG_STACKTRACE_ROUTINE lpStackTraceRoutine;
|
||||||
|
} WINDBG_EXTENSION_APIS, *PWINDBG_EXTENSION_APIS;
|
Loading…
x
Reference in New Issue
Block a user