Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
4072d20f
Commit
4072d20f
authored
Sep 19, 2011
by
Alistair Leslie-Hughes
Committed by
Alexandre Julliard
Sep 20, 2011
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
mscoree: Add .Net debugging interfaces.
parent
97730836
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
953 additions
and
0 deletions
+953
-0
.gitignore
.gitignore
+1
-0
Makefile.in
include/Makefile.in
+1
-0
cordebug.idl
include/cordebug.idl
+951
-0
No files found.
.gitignore
View file @
4072d20f
...
...
@@ -146,6 +146,7 @@ include/commoncontrols.h
include/config.h
include/control.h
include/cor.h
include/cordebug.h
include/ctfutb.h
include/ctxtcall.h
include/d3d10.h
...
...
include/Makefile.in
View file @
4072d20f
...
...
@@ -18,6 +18,7 @@ PUBLIC_IDL_H_SRCS = \
commoncontrols.idl
\
control.idl
\
cor.idl
\
cordebug.idl
\
ctfutb.idl
\
ctxtcall.idl
\
d3d10.idl
\
...
...
include/cordebug.idl
0 → 100644
View file @
4072d20f
/*
*
Copyright
(
C
)
2011
Alistair
Leslie
-
Hughes
*
*
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
.
,
51
Franklin
St
,
Fifth
Floor
,
Boston
,
MA
02110
-
1301
,
USA
*/
import
"unknwn.idl"
;
import
"objidl.idl"
;
interface
ICorDebugAppDomain
;
interface
ICorDebugAppDomainEnum
;
interface
ICorDebugAssembly
;
interface
ICorDebugAssemblyEnum
;
interface
ICorDebugBreakpoint
;
interface
ICorDebugBreakpointEnum
;
interface
ICorDebugChain
;
interface
ICorDebugChainEnum
;
interface
ICorDebugClass
;
interface
ICorDebugCode
;
interface
ICorDebugContext
;
interface
ICorDebugEditAndContinueSnapshot
;
interface
ICorDebugEditAndContinueErrorInfo
;
interface
ICorDebugEnum
;
interface
ICorDebugErrorInfoEnum
;
interface
ICorDebugEval
;
interface
ICorDebugFrame
;
interface
ICorDebugFrameEnum
;
interface
ICorDebugFunction
;
interface
ICorDebugFunctionBreakpoint
;
interface
ICorDebugModule
;
interface
ICorDebugModuleBreakpoint
;
interface
ICorDebugModuleEnum
;
interface
ICorDebugObjectEnum
;
interface
ICorDebugObjectValue
;
interface
ICorDebugProcess
;
interface
ICorDebugProcessEnum
;
interface
ICorDebugRegisterSet
;
interface
ICorDebugStepper
;
interface
ICorDebugStepperEnum
;
interface
ICorDebugThreadEnum
;
interface
ICorDebugUnmanagedCallback
;
interface
ICorDebugValueBreakpoint
;
typedef
[
wire_marshal
(
unsigned
long
)
]
void
*
HPROCESS
;
typedef
[
wire_marshal
(
unsigned
long
)
]
void
*
HTHREAD
;
/*
These
are
defined
in
corhrd
.
idl
but
used
here
.
*/
cpp_quote
(
"#if 0"
)
typedef
UINT32
mdToken
;
typedef
mdToken
mdModule
;
typedef
SIZE_T
mdScope
;
typedef
mdToken
mdTypeDef
;
typedef
mdToken
mdSourceFile
;
typedef
mdToken
mdMemberRef
;
typedef
mdToken
mdMethodDef
;
typedef
mdToken
mdFieldDef
;
typedef
mdToken
mdSignature
;
typedef
ULONG
CorElementType
;
typedef
SIZE_T
PCCOR_SIGNATURE
;
typedef
SIZE_T
LPDEBUG_EVENT
;
typedef
SIZE_T
LPSTARTUPINFOW
;
typedef
SIZE_T
LPPROCESS_INFORMATION
;
cpp_quote
(
"#endif"
)
typedef
ULONG64
CORDB_ADDRESS
;
typedef
ULONG64
CORDB_REGISTER
;
cpp_quote
(
"#ifndef _COR_IL_MAP"
)
cpp_quote
(
"#define _COR_IL_MAP"
)
typedef
struct
_COR_IL_MAP
{
ULONG32
oldOffset
;
ULONG32
newOffset
;
BOOL
fAccurate
;
}
COR_IL_MAP
;
cpp_quote
(
"#endif /* _COR_IL_MAP */"
)
cpp_quote
(
"#ifndef _COR_DEBUG_IL_TO_NATIVE_MAP_"
)
cpp_quote
(
"#define _COR_DEBUG_IL_TO_NATIVE_MAP_"
)
typedef
enum
CorDebugIlToNativeMappingTypes
{
NO_MAPPING
=
-
1
,
PROLOG
=
-
2
,
EPILOG
=
-
3
}
CorDebugIlToNativeMappingTypes
;
typedef
struct
COR_DEBUG_IL_TO_NATIVE_MAP
{
ULONG32
ilOffset
;
ULONG32
nativeStartOffset
;
ULONG32
nativeEndOffset
;
}
COR_DEBUG_IL_TO_NATIVE_MAP
;
cpp_quote
(
"#endif /* _COR_DEBUG_IL_TO_NATIVE_MAP_ */"
)
typedef
enum
CorDebugThreadState
{
THREAD_RUN
,
THREAD_SUSPEND
}
CorDebugThreadState
;
typedef
enum
CorDebugCreateProcessFlags
{
DEBUG_NO_SPECIAL_OPTIONS
=
0
x0000
}
CorDebugCreateProcessFlags
;
[
object
,
local
,
uuid
(
CC7BCAF7
-
8
A68
-
11
d2
-
983
C
-
0000
F808342D
),
pointer_default
(
unique
)
]
interface
ICorDebugValue
:
IUnknown
{
HRESULT
GetType
(
[
out
]
CorElementType
*
pType
)
;
HRESULT
GetSize
(
[
out
]
ULONG32
*
pSize
)
;
HRESULT
GetAddress
(
[
out
]
CORDB_ADDRESS
*
pAddress
)
;
HRESULT
CreateBreakpoint
(
[
out
]
ICorDebugValueBreakpoint
**
ppBreakpoint
)
;
}
;
[
object
,
local
,
uuid
(
938
c6d66
-
7
fb6
-
4
f69
-
b389
-
425b8987329b
),
pointer_default
(
unique
)
]
interface
ICorDebugThread
:
IUnknown
{
HRESULT
GetProcess
(
[
out
]
ICorDebugProcess
**
ppProcess
)
;
HRESULT
GetID
(
[
out
]
DWORD
*
pdwThreadId
)
;
HRESULT
GetHandle
(
[
out
]
HTHREAD
*
phThreadHandle
)
;
HRESULT
GetAppDomain
(
[
out
]
ICorDebugAppDomain
**
ppAppDomain
)
;
HRESULT
SetDebugState
(
[
in
]
CorDebugThreadState
state
)
;
HRESULT
GetDebugState
(
[
out
]
CorDebugThreadState
*
pState
)
;
typedef
enum
CorDebugUserState
{
USER_STOP_REQUESTED
=
0
x01
,
USER_SUSPEND_REQUESTED
=
0
x02
,
USER_BACKGROUND
=
0
x04
,
USER_UNSTARTED
=
0
x08
,
USER_STOPPED
=
0
x10
,
USER_WAIT_SLEEP_JOIN
=
0
x20
,
USER_SUSPENDED
=
0
x40
,
USER_UNSAFE_POINT
=
0
x80
,
}
CorDebugUserState
;
HRESULT
GetUserState
(
[
out
]
CorDebugUserState
*
pState
)
;
HRESULT
GetCurrentException
(
[
out
]
ICorDebugValue
**
ppExceptionObject
)
;
HRESULT
ClearCurrentException
()
;
HRESULT
CreateStepper
(
[
out
]
ICorDebugStepper
**
ppStepper
)
;
HRESULT
EnumerateChains
(
[
out
]
ICorDebugChainEnum
**
ppChains
)
;
HRESULT
GetActiveChain
(
[
out
]
ICorDebugChain
**
ppChain
)
;
HRESULT
GetActiveFrame
(
[
out
]
ICorDebugFrame
**
ppFrame
)
;
HRESULT
GetRegisterSet
(
[
out
]
ICorDebugRegisterSet
**
ppRegisters
)
;
HRESULT
CreateEval
(
[
out
]
ICorDebugEval
**
ppEval
)
;
HRESULT
GetObject
(
[
out
]
ICorDebugValue
**
ppObject
)
;
}
;
[
object
,
local
,
uuid
(
3
d6f5f62
-
7538
-
11
d3
-
8
d5b
-
00104b35
e7ef
),
pointer_default
(
unique
)
]
interface
ICorDebugController
:
IUnknown
{
HRESULT
Stop
(
[
in
]
DWORD
dwTimeoutIgnored
)
;
HRESULT
Continue
(
[
in
]
BOOL
fIsOutOfBand
)
;
HRESULT
IsRunning
(
[
out
]
BOOL
*
pbRunning
)
;
HRESULT
HasQueuedCallbacks
(
[
in
]
ICorDebugThread
*
pThread
,
[
out
]
BOOL
*
pbQueued
)
;
HRESULT
EnumerateThreads
(
[
out
]
ICorDebugThreadEnum
**
ppThreads
)
;
HRESULT
SetAllThreadsDebugState
(
[
in
]
CorDebugThreadState
state
,
[
in
]
ICorDebugThread
*
pExceptThisThread
)
;
HRESULT
Detach
()
;
HRESULT
Terminate
(
[
in
]
UINT
exitCode
)
;
HRESULT
CanCommitChanges
(
[
in
]
ULONG
cSnapshots
,
[
in
]
ICorDebugEditAndContinueSnapshot
*
pSnapshots
[]
,
[
out
]
ICorDebugErrorInfoEnum
**
pError
)
;
HRESULT
CommitChanges
(
[
in
]
ULONG
cSnapshots
,
[
in
]
ICorDebugEditAndContinueSnapshot
*
pSnapshots
[]
,
[
out
]
ICorDebugErrorInfoEnum
**
pError
)
;
}
;
[
object
,
local
,
uuid
(
3
d6f5f64
-
7538
-
11
d3
-
8
d5b
-
00104b35
e7ef
),
pointer_default
(
unique
)
]
interface
ICorDebugProcess
:
ICorDebugController
{
HRESULT
GetID
(
[
out
]
DWORD
*
pdwProcessId
)
;
HRESULT
GetHandle
(
[
out
]
HPROCESS
*
phProcessHandle
)
;
HRESULT
GetThread
(
[
in
]
DWORD
dwThreadId
,
[
out
]
ICorDebugThread
**
ppThread
)
;
HRESULT
EnumerateObjects
(
[
out
]
ICorDebugObjectEnum
**
ppObjects
)
;
HRESULT
IsTransitionStub
(
[
in
]
CORDB_ADDRESS
address
,
[
out
]
BOOL
*
pbTransitionStub
)
;
HRESULT
IsOSSuspended
(
[
in
]
DWORD
threadID
,
[
out
]
BOOL
*
pbSuspended
)
;
HRESULT
GetThreadContext
(
[
in
]
DWORD
threadID
,
[
in
]
ULONG32
contextSize
,
[
in
,
out
]
BYTE
context
[]
)
;
HRESULT
SetThreadContext
(
[
in
]
DWORD
threadID
,
[
in
]
ULONG32
contextSize
,
[
in
]
BYTE
context
[]
)
;
HRESULT
ReadMemory
(
[
in
]
CORDB_ADDRESS
address
,
[
in
]
DWORD
size
,
[
out
]
BYTE
buffer
[]
,
[
out
]
SIZE_T
*
read
)
;
HRESULT
WriteMemory
(
[
in
]
CORDB_ADDRESS
address
,
[
in
]
DWORD
size
,
[
in
]
BYTE
buffer
[]
,
[
out
]
SIZE_T
*
written
)
;
HRESULT
ClearCurrentException
(
[
in
]
DWORD
threadID
)
;
HRESULT
EnableLogMessages
(
[
in
]
BOOL
fOnOff
)
;
HRESULT
ModifyLogSwitch
(
[
in
]
WCHAR
*
pLogSwitchName
,
[
in
]
LONG
lLevel
)
;
HRESULT
EnumerateAppDomains
(
[
out
]
ICorDebugAppDomainEnum
**
ppAppDomains
)
;
HRESULT
GetObject
(
[
out
]
ICorDebugValue
**
ppObject
)
;
HRESULT
ThreadForFiberCookie
(
[
in
]
DWORD
fiberCookie
,
[
out
]
ICorDebugThread
**
ppThread
)
;
HRESULT
GetHelperThreadID
(
[
out
]
DWORD
*
pThreadID
)
;
}
;
[
object
,
local
,
uuid
(
3
d6f5f63
-
7538
-
11
d3
-
8
d5b
-
00104b35
e7ef
),
pointer_default
(
unique
)
]
interface
ICorDebugAppDomain
:
ICorDebugController
{
HRESULT
GetProcess
(
[
out
]
ICorDebugProcess
**
ppProcess
)
;
HRESULT
EnumerateAssemblies
(
[
out
]
ICorDebugAssemblyEnum
**
ppAssemblies
)
;
HRESULT
GetModuleFromMetaDataInterface
(
[
in
]
IUnknown
*
pIMetaData
,
[
out
]
ICorDebugModule
**
ppModule
)
;
HRESULT
EnumerateBreakpoints
(
[
out
]
ICorDebugBreakpointEnum
**
ppBreakpoints
)
;
HRESULT
EnumerateSteppers
(
[
out
]
ICorDebugStepperEnum
**
ppSteppers
)
;
HRESULT
IsAttached
(
[
out
]
BOOL
*
pbAttached
)
;
HRESULT
GetName
(
[
in
]
ULONG32
cchName
,
[
out
]
ULONG32
*
pcchName
,
[
out
]
WCHAR
szName
[]
)
;
HRESULT
GetObject
(
[
out
]
ICorDebugValue
**
ppObject
)
;
HRESULT
Attach
()
;
HRESULT
GetID
(
[
out
]
ULONG32
*
pId
)
;
}
;
[
object
,
local
,
uuid
(
3
d6f5f60
-
7538
-
11
d3
-
8
d5b
-
00104b35
e7ef
),
pointer_default
(
unique
)
]
interface
ICorDebugManagedCallback
:
IUnknown
{
HRESULT
Breakpoint
(
[
in
]
ICorDebugAppDomain
*
pAppDomain
,
[
in
]
ICorDebugThread
*
pThread
,
[
in
]
ICorDebugBreakpoint
*
pBreakpoint
)
;
typedef
enum
CorDebugStepReason
{
STEP_NORMAL
,
STEP_RETURN
,
STEP_CALL
,
STEP_EXCEPTION_FILTER
,
STEP_EXCEPTION_HANDLER
,
STEP_INTERCEPT
,
STEP_EXIT
}
CorDebugStepReason
;
HRESULT
StepComplete
(
[
in
]
ICorDebugAppDomain
*
pAppDomain
,
[
in
]
ICorDebugThread
*
pThread
,
[
in
]
ICorDebugStepper
*
pStepper
,
[
in
]
CorDebugStepReason
reason
)
;
HRESULT
Break
(
[
in
]
ICorDebugAppDomain
*
pAppDomain
,
[
in
]
ICorDebugThread
*
thread
)
;
HRESULT
Exception
(
[
in
]
ICorDebugAppDomain
*
pAppDomain
,
[
in
]
ICorDebugThread
*
pThread
,
[
in
]
BOOL
unhandled
)
;
HRESULT
EvalComplete
(
[
in
]
ICorDebugAppDomain
*
pAppDomain
,
[
in
]
ICorDebugThread
*
pThread
,
[
in
]
ICorDebugEval
*
pEval
)
;
HRESULT
EvalException
(
[
in
]
ICorDebugAppDomain
*
pAppDomain
,
[
in
]
ICorDebugThread
*
pThread
,
[
in
]
ICorDebugEval
*
pEval
)
;
HRESULT
CreateProcess
(
[
in
]
ICorDebugProcess
*
pProcess
)
;
HRESULT
ExitProcess
(
[
in
]
ICorDebugProcess
*
pProcess
)
;
HRESULT
CreateThread
(
[
in
]
ICorDebugAppDomain
*
pAppDomain
,
[
in
]
ICorDebugThread
*
thread
)
;
HRESULT
ExitThread
(
[
in
]
ICorDebugAppDomain
*
pAppDomain
,
[
in
]
ICorDebugThread
*
thread
)
;
HRESULT
LoadModule
(
[
in
]
ICorDebugAppDomain
*
pAppDomain
,
[
in
]
ICorDebugModule
*
pModule
)
;
HRESULT
UnloadModule
(
[
in
]
ICorDebugAppDomain
*
pAppDomain
,
[
in
]
ICorDebugModule
*
pModule
)
;
HRESULT
LoadClass
(
[
in
]
ICorDebugAppDomain
*
pAppDomain
,
[
in
]
ICorDebugClass
*
c
)
;
HRESULT
UnloadClass
(
[
in
]
ICorDebugAppDomain
*
pAppDomain
,
[
in
]
ICorDebugClass
*
c
)
;
HRESULT
DebuggerError
(
[
in
]
ICorDebugProcess
*
pProcess
,
[
in
]
HRESULT
errorHR
,
[
in
]
DWORD
errorCode
)
;
typedef
enum
LoggingLevelEnum
{
LTraceLevel0
=
0
,
LTraceLevel1
,
LTraceLevel2
,
LTraceLevel3
,
LTraceLevel4
,
LStatusLevel0
=
20
,
LStatusLevel1
,
LStatusLevel2
,
LStatusLevel3
,
LStatusLevel4
,
LWarningLevel
=
40
,
LErrorLevel
=
50
,
LPanicLevel
=
100
}
LoggingLevelEnum
;
typedef
enum
LogSwitchCallReason
{
SWITCH_CREATE
,
SWITCH_MODIFY
,
SWITCH_DELETE
}
LogSwitchCallReason
;
HRESULT
LogMessage
(
[
in
]
ICorDebugAppDomain
*
pAppDomain
,
[
in
]
ICorDebugThread
*
pThread
,
[
in
]
LONG
lLevel
,
[
in
]
WCHAR
*
pLogSwitchName
,
[
in
]
WCHAR
*
pMessage
)
;
HRESULT
LogSwitch
(
[
in
]
ICorDebugAppDomain
*
pAppDomain
,
[
in
]
ICorDebugThread
*
pThread
,
[
in
]
LONG
lLevel
,
[
in
]
ULONG
ulReason
,
[
in
]
WCHAR
*
pLogSwitchName
,
[
in
]
WCHAR
*
pParentName
)
;
HRESULT
CreateAppDomain
(
[
in
]
ICorDebugProcess
*
pProcess
,
[
in
]
ICorDebugAppDomain
*
pAppDomain
)
;
HRESULT
ExitAppDomain
(
[
in
]
ICorDebugProcess
*
pProcess
,
[
in
]
ICorDebugAppDomain
*
pAppDomain
)
;
HRESULT
LoadAssembly
(
[
in
]
ICorDebugAppDomain
*
pAppDomain
,
[
in
]
ICorDebugAssembly
*
pAssembly
)
;
HRESULT
UnloadAssembly
(
[
in
]
ICorDebugAppDomain
*
pAppDomain
,
[
in
]
ICorDebugAssembly
*
pAssembly
)
;
HRESULT
ControlCTrap
(
[
in
]
ICorDebugProcess
*
pProcess
)
;
HRESULT
NameChange
(
[
in
]
ICorDebugAppDomain
*
pAppDomain
,
[
in
]
ICorDebugThread
*
pThread
)
;
HRESULT
UpdateModuleSymbols
(
[
in
]
ICorDebugAppDomain
*
pAppDomain
,
[
in
]
ICorDebugModule
*
pModule
,
[
in
]
IStream
*
pSymbolStream
)
;
HRESULT
EditAndContinueRemap
(
[
in
]
ICorDebugAppDomain
*
pAppDomain
,
[
in
]
ICorDebugThread
*
pThread
,
[
in
]
ICorDebugFunction
*
pFunction
,
[
in
]
BOOL
fAccurate
)
;
HRESULT
BreakpointSetError
(
[
in
]
ICorDebugAppDomain
*
pAppDomain
,
[
in
]
ICorDebugThread
*
pThread
,
[
in
]
ICorDebugBreakpoint
*
pBreakpoint
,
[
in
]
DWORD
dwError
)
;
}
;
[
object
,
local
,
uuid
(
3
d6f5f61
-
7538
-
11
d3
-
8
d5b
-
00104b35
e7ef
),
pointer_default
(
unique
)
]
interface
ICorDebug
:
IUnknown
{
HRESULT
Initialize
()
;
HRESULT
Terminate
()
;
HRESULT
SetManagedHandler
(
[
in
]
ICorDebugManagedCallback
*
pCallback
)
;
HRESULT
SetUnmanagedHandler
(
[
in
]
ICorDebugUnmanagedCallback
*
pCallback
)
;
HRESULT
CreateProcess
(
[
in
]
LPCWSTR
lpApplicationName
,
[
in
]
LPWSTR
lpCommandLine
,
[
in
]
LPSECURITY_ATTRIBUTES
lpProcessAttributes
,
[
in
]
LPSECURITY_ATTRIBUTES
lpThreadAttributes
,
[
in
]
BOOL
bInheritHandles
,
[
in
]
DWORD
dwCreationFlags
,
[
in
]
PVOID
lpEnvironment
,
[
in
]
LPCWSTR
lpCurrentDirectory
,
[
in
]
LPSTARTUPINFOW
lpStartupInfo
,
[
in
]
LPPROCESS_INFORMATION
lpProcessInformation
,
[
in
]
CorDebugCreateProcessFlags
debuggingFlags
,
[
out
]
ICorDebugProcess
**
ppProcess
)
;
HRESULT
DebugActiveProcess
(
[
in
]
DWORD
id
,
[
in
]
BOOL
win32Attach
,
[
out
]
ICorDebugProcess
**
ppProcess
)
;
HRESULT
EnumerateProcesses
(
[
out
]
ICorDebugProcessEnum
**
ppProcess
)
;
HRESULT
GetProcess
(
[
in
]
DWORD
dwProcessId
,
[
out
]
ICorDebugProcess
**
ppProcess
)
;
HRESULT
CanLaunchOrAttach
(
[
in
]
DWORD
dwProcessId
,
[
in
]
BOOL
win32DebuggingEnabled
)
;
}
;
[
object
,
local
,
uuid
(
CC7BCAE8
-
8
A68
-
11
d2
-
983
C
-
0000
F808342D
),
pointer_default
(
unique
)
]
interface
ICorDebugBreakpoint
:
IUnknown
{
HRESULT
Activate
(
[
in
]
BOOL
bActive
)
;
HRESULT
IsActive
(
[
out
]
BOOL
*
pbActive
)
;
}
;
[
object
,
local
,
uuid
(
CC7BCAE9
-
8
A68
-
11
d2
-
983
C
-
0000
F808342D
),
pointer_default
(
unique
)
]
interface
ICorDebugFunctionBreakpoint
:
ICorDebugBreakpoint
{
HRESULT
GetFunction
(
[
out
]
ICorDebugFunction
**
ppFunction
)
;
HRESULT
GetOffset
(
[
out
]
ULONG32
*
pnOffset
)
;
}
;
[
object
,
local
,
uuid
(
CC7BCAEA
-
8
A68
-
11
d2
-
983
C
-
0000
F808342D
),
pointer_default
(
unique
)
]
interface
ICorDebugModuleBreakpoint
:
ICorDebugBreakpoint
{
HRESULT
GetModule
(
[
out
]
ICorDebugModule
**
ppModule
)
;
}
;
[
object
,
local
,
uuid
(
CC7BCAEB
-
8
A68
-
11
d2
-
983
C
-
0000
F808342D
),
pointer_default
(
unique
)
]
interface
ICorDebugValueBreakpoint
:
ICorDebugBreakpoint
{
HRESULT
GetValue
(
[
out
]
ICorDebugValue
**
ppValue
)
;
}
;
[
object
,
local
,
uuid
(
CC7BCAEC
-
8
A68
-
11
d2
-
983
C
-
0000
F808342D
),
pointer_default
(
unique
)
]
interface
ICorDebugStepper
:
IUnknown
{
HRESULT
IsActive
(
[
out
]
BOOL
*
pbActive
)
;
HRESULT
Deactivate
()
;
typedef
enum
CorDebugIntercept
{
INTERCEPT_NONE
=
0
x0
,
INTERCEPT_CLASS_INIT
=
0
x01
,
INTERCEPT_EXCEPTION_FILTER
=
0
x02
,
INTERCEPT_SECURITY
=
0
x04
,
INTERCEPT_CONTEXT_POLICY
=
0
x08
,
INTERCEPT_INTERCEPTION
=
0
x10
,
INTERCEPT_ALL
=
0
xffff
}
CorDebugIntercept
;
HRESULT
SetInterceptMask
(
[
in
]
CorDebugIntercept
mask
)
;
typedef
enum
CorDebugUnmappedStop
{
STOP_NONE
=
0
x0
,
STOP_PROLOG
=
0
x01
,
STOP_EPILOG
=
0
x02
,
STOP_NO_MAPPING_INFO
=
0
x04
,
STOP_OTHER_UNMAPPED
=
0
x08
,
STOP_UNMANAGED
=
0
x10
,
STOP_ALL
=
0
xffff
,
}
CorDebugUnmappedStop
;
HRESULT
SetUnmappedStopMask
(
[
in
]
CorDebugUnmappedStop
mask
)
;
HRESULT
Step
(
[
in
]
BOOL
bStepIn
)
;
typedef
struct
COR_DEBUG_STEP_RANGE
{
ULONG32
startOffset
,
endOffset
;
}
COR_DEBUG_STEP_RANGE
;
HRESULT
StepRange
(
[
in
]
BOOL
bStepIn
,
[
in
]
COR_DEBUG_STEP_RANGE
ranges
[]
,
[
in
]
ULONG32
cRangeCount
)
;
HRESULT
StepOut
()
;
HRESULT
SetRangeIL
(
[
in
]
BOOL
bIL
)
;
}
;
[
object
,
local
,
uuid
(
CC7BCB01
-
8
A68
-
11
d2
-
983
C
-
0000
F808342D
),
pointer_default
(
unique
)
]
interface
ICorDebugEnum
:
IUnknown
{
HRESULT
Skip
(
[
in
]
ULONG
celt
)
;
HRESULT
Reset
()
;
HRESULT
Clone
(
[
out
]
ICorDebugEnum
**
ppEnum
)
;
HRESULT
GetCount
(
[
out
]
ULONG
*
pcelt
)
;
}
;
[
object
,
local
,
uuid
(
63
ca1b24
-
4359
-
4883
-
bd57
-
13
f815f58744
),
pointer_default
(
unique
)
]
interface
ICorDebugAppDomainEnum
:
ICorDebugEnum
{
HRESULT
Next
(
[
in
]
ULONG
celt
,
[
out
]
ICorDebugAppDomain
*
values
[]
,
[
out
]
ULONG
*
pceltFetched
)
;
}
;
[
object
,
local
,
uuid
(
4
a2a1ec9
-
85
ec
-
4b
fb
-
9
f15
-
a89fdfe0fe83
),
pointer_default
(
unique
)
]
interface
ICorDebugAssemblyEnum
:
ICorDebugEnum
{
HRESULT
Next
(
[
in
]
ULONG
celt
,
[
out
]
ICorDebugAssembly
*
values
[]
,
[
out
]
ULONG
*
pceltFetched
)
;
}
;
[
object
,
local
,
uuid
(
CC7BCB03
-
8
A68
-
11
d2
-
983
C
-
0000
F808342D
),
pointer_default
(
unique
)
]
interface
ICorDebugBreakpointEnum
:
ICorDebugEnum
{
HRESULT
Next
(
[
in
]
ULONG
celt
,
[
out
]
ICorDebugBreakpoint
*
breakpoints
[]
,
[
out
]
ULONG
*
pceltFetched
)
;
}
;
[
object
,
local
,
uuid
(
CC7BCB08
-
8
A68
-
11
d2
-
983
C
-
0000
F808342D
),
pointer_default
(
unique
)
]
interface
ICorDebugChainEnum
:
ICorDebugEnum
{
HRESULT
Next
(
[
in
]
ULONG
celt
,
[
out
]
ICorDebugChain
*
chains
[]
,
[
out
]
ULONG
*
pceltFetched
)
;
}
;
[
object
,
local
,
uuid
(
F0E18809
-
72B5
-
11
d2
-
976
F
-
00
A0C9B4D50C
),
pointer_default
(
unique
)
]
interface
ICorDebugErrorInfoEnum
:
ICorDebugEnum
{
HRESULT
Next
(
[
in
]
ULONG
celt
,
[
out
]
ICorDebugEditAndContinueErrorInfo
*
errors
[]
,
[
out
]
ULONG
*
pceltFetched
)
;
}
;
[
object
,
local
,
uuid
(
CC7BCB07
-
8
A68
-
11
d2
-
983
C
-
0000
F808342D
),
pointer_default
(
unique
)
]
interface
ICorDebugFrameEnum
:
ICorDebugEnum
{
HRESULT
Next
(
[
in
]
ULONG
celt
,
[
out
]
ICorDebugFrame
*
frames
[]
,
[
out
]
ULONG
*
pceltFetched
)
;
}
;
[
object
,
local
,
uuid
(
CC7BCB09
-
8
A68
-
11
d2
-
983
C
-
0000
F808342D
),
pointer_default
(
unique
)
]
interface
ICorDebugModuleEnum
:
ICorDebugEnum
{
HRESULT
Next
(
[
in
]
ULONG
celt
,
[
out
]
ICorDebugModule
*
modules
[]
,
[
out
]
ULONG
*
pceltFetched
)
;
}
;
[
object
,
local
,
uuid
(
CC7BCB02
-
8
A68
-
11
d2
-
983
C
-
0000
F808342D
),
pointer_default
(
unique
)
]
interface
ICorDebugObjectEnum
:
ICorDebugEnum
{
HRESULT
Next
(
[
in
]
ULONG
celt
,
[
out
]
CORDB_ADDRESS
objects
[]
,
[
out
]
ULONG
*
pceltFetched
)
;
}
;
[
object
,
local
,
uuid
(
CC7BCB05
-
8
A68
-
11
d2
-
983
C
-
0000
F808342D
),
pointer_default
(
unique
)
]
interface
ICorDebugProcessEnum
:
ICorDebugEnum
{
HRESULT
Next
(
[
in
]
ULONG
celt
,
[
out
]
ICorDebugProcess
*
processes
[]
,
[
out
]
ULONG
*
pceltFetched
)
;
}
;
[
object
,
local
,
uuid
(
CC7BCB04
-
8
A68
-
11
d2
-
983
C
-
0000
F808342D
),
pointer_default
(
unique
)
]
interface
ICorDebugStepperEnum
:
ICorDebugEnum
{
HRESULT
Next
(
[
in
]
ULONG
celt
,
[
out
]
ICorDebugStepper
*
steppers
[]
,
[
out
]
ULONG
*
pceltFetched
)
;
}
;
[
object
,
local
,
uuid
(
CC7BCB06
-
8
A68
-
11
d2
-
983
C
-
0000
F808342D
),
pointer_default
(
unique
)
]
interface
ICorDebugThreadEnum
:
ICorDebugEnum
{
HRESULT
Next
(
[
in
]
ULONG
celt
,
[
out
]
ICorDebugThread
*
threads
[]
,
[
out
]
ULONG
*
pceltFetched
)
;
}
;
[
object
,
local
,
uuid
(
CC7BCAEE
-
8
A68
-
11
d2
-
983
C
-
0000
F808342D
),
pointer_default
(
unique
)
]
interface
ICorDebugChain
:
IUnknown
{
HRESULT
GetThread
(
[
out
]
ICorDebugThread
**
ppThread
)
;
HRESULT
GetStackRange
(
[
out
]
CORDB_ADDRESS
*
pStart
,
[
out
]
CORDB_ADDRESS
*
pEnd
)
;
HRESULT
GetContext
(
[
out
]
ICorDebugContext
**
ppContext
)
;
HRESULT
GetCaller
(
[
out
]
ICorDebugChain
**
ppChain
)
;
HRESULT
GetCallee
(
[
out
]
ICorDebugChain
**
ppChain
)
;
HRESULT
GetPrevious
(
[
out
]
ICorDebugChain
**
ppChain
)
;
HRESULT
GetNext
(
[
out
]
ICorDebugChain
**
ppChain
)
;
HRESULT
IsManaged
(
[
out
]
BOOL
*
pManaged
)
;
HRESULT
EnumerateFrames
(
[
out
]
ICorDebugFrameEnum
**
ppFrames
)
;
HRESULT
GetActiveFrame
(
[
out
]
ICorDebugFrame
**
ppFrame
)
;
HRESULT
GetRegisterSet
(
[
out
]
ICorDebugRegisterSet
**
ppRegisters
)
;
typedef
enum
CorDebugChainReason
{
CHAIN_NONE
=
0
x000
,
CHAIN_CLASS_INIT
=
0
x001
,
CHAIN_EXCEPTION_FILTER
=
0
x002
,
CHAIN_SECURITY
=
0
x004
,
CHAIN_CONTEXT_POLICY
=
0
x008
,
CHAIN_INTERCEPTION
=
0
x010
,
CHAIN_PROCESS_START
=
0
x020
,
CHAIN_THREAD_START
=
0
x040
,
CHAIN_ENTER_MANAGED
=
0
x080
,
CHAIN_ENTER_UNMANAGED
=
0
x100
,
CHAIN_DEBUGGER_EVAL
=
0
x200
,
CHAIN_CONTEXT_SWITCH
=
0
x400
,
CHAIN_FUNC_EVAL
=
0
x800
,
}
CorDebugChainReason
;
HRESULT
GetReason
(
[
out
]
CorDebugChainReason
*
pReason
)
;
}
;
[
object
,
local
,
uuid
(
CC7BCAEF
-
8
A68
-
11
d2
-
983
C
-
0000
F808342D
),
pointer_default
(
unique
)
]
interface
ICorDebugFrame
:
IUnknown
{
HRESULT
GetChain
(
[
out
]
ICorDebugChain
**
ppChain
)
;
HRESULT
GetCode
(
[
out
]
ICorDebugCode
**
ppCode
)
;
HRESULT
GetFunction
(
[
out
]
ICorDebugFunction
**
ppFunction
)
;
HRESULT
GetFunctionToken
(
[
out
]
mdMethodDef
*
pToken
)
;
HRESULT
GetStackRange
(
[
out
]
CORDB_ADDRESS
*
pStart
,
[
out
]
CORDB_ADDRESS
*
pEnd
)
;
HRESULT
GetCaller
(
[
out
]
ICorDebugFrame
**
ppFrame
)
;
HRESULT
GetCallee
(
[
out
]
ICorDebugFrame
**
ppFrame
)
;
HRESULT
CreateStepper
(
[
out
]
ICorDebugStepper
**
ppStepper
)
;
}
;
[
object
,
local
,
uuid
(
CC7BCB0B
-
8
A68
-
11
d2
-
983
C
-
0000
F808342D
),
pointer_default
(
unique
)
]
interface
ICorDebugRegisterSet
:
IUnknown
{
typedef
enum
CorDebugRegister
{
REGISTER_INSTRUCTION_POINTER
=
0
,
REGISTER_STACK_POINTER
,
REGISTER_FRAME_POINTER
,
REGISTER_X86_EIP
=
0
,
REGISTER_X86_ESP
,
REGISTER_X86_EBP
,
REGISTER_X86_EAX
,
REGISTER_X86_ECX
,
REGISTER_X86_EDX
,
REGISTER_X86_EBX
,
REGISTER_X86_ESI
,
REGISTER_X86_EDI
,
REGISTER_X86_FPSTACK_0
,
REGISTER_X86_FPSTACK_1
,
REGISTER_X86_FPSTACK_2
,
REGISTER_X86_FPSTACK_3
,
REGISTER_X86_FPSTACK_4
,
REGISTER_X86_FPSTACK_5
,
REGISTER_X86_FPSTACK_6
,
REGISTER_X86_FPSTACK_7
,
REGISTER_AMD64_RIP
=
0
,
REGISTER_AMD64_RSP
,
REGISTER_AMD64_RBP
,
REGISTER_AMD64_RAX
,
REGISTER_AMD64_RCX
,
REGISTER_AMD64_RDX
,
REGISTER_AMD64_RBX
,
REGISTER_AMD64_RSI
,
REGISTER_AMD64_RDI
,
REGISTER_AMD64_R8
,
REGISTER_AMD64_R9
,
REGISTER_AMD64_R10
,
REGISTER_AMD64_R11
,
REGISTER_AMD64_R12
,
REGISTER_AMD64_R13
,
REGISTER_AMD64_R14
,
REGISTER_AMD64_R15
,
REGISTER_AMD64_XMM0
,
REGISTER_AMD64_XMM1
,
REGISTER_AMD64_XMM2
,
REGISTER_AMD64_XMM3
,
REGISTER_AMD64_XMM4
,
REGISTER_AMD64_XMM5
,
REGISTER_AMD64_XMM6
,
REGISTER_AMD64_XMM7
,
REGISTER_AMD64_XMM8
,
REGISTER_AMD64_XMM9
,
REGISTER_AMD64_XMM10
,
REGISTER_AMD64_XMM11
,
REGISTER_AMD64_XMM12
,
REGISTER_AMD64_XMM13
,
REGISTER_AMD64_XMM14
,
REGISTER_AMD64_XMM15
,
REGISTER_IA64_BSP
=
REGISTER_FRAME_POINTER
,
REGISTER_IA64_R0
=
REGISTER_IA64_BSP
+
1
,
REGISTER_IA64_F0
=
REGISTER_IA64_R0
+
128
,
}
CorDebugRegister
;
HRESULT
GetRegistersAvailable
(
[
out
]
ULONG64
*
pAvailable
)
;
HRESULT
GetRegisters
(
[
in
]
ULONG64
mask
,
[
in
]
ULONG32
regCount
,
[
out
]
CORDB_REGISTER
regBuffer
[]
)
;
HRESULT
SetRegisters
(
[
in
]
ULONG64
mask
,
[
in
]
ULONG32
regCount
,
[
in
]
CORDB_REGISTER
regBuffer
[]
)
;
HRESULT
GetThreadContext
(
[
in
]
ULONG32
contextSize
,
[
in
,
out
]
BYTE
context
[]
)
;
HRESULT
SetThreadContext
(
[
in
]
ULONG32
contextSize
,
[
in
]
BYTE
context
[]
)
;
}
[
object
,
local
,
uuid
(
CC7BCAF6
-
8
A68
-
11
d2
-
983
C
-
0000
F808342D
),
pointer_default
(
unique
)
]
interface
ICorDebugEval
:
IUnknown
{
HRESULT
CallFunction
(
[
in
]
ICorDebugFunction
*
pFunction
,
[
in
]
ULONG32
nArgs
,
[
in
]
ICorDebugValue
*
ppArgs
[]
)
;
HRESULT
NewObject
(
[
in
]
ICorDebugFunction
*
pConstructor
,
[
in
]
ULONG32
nArgs
,
[
in
]
ICorDebugValue
*
ppArgs
[]
)
;
HRESULT
NewObjectNoConstructor
(
[
in
]
ICorDebugClass
*
pClass
)
;
HRESULT
NewString
(
[
in
]
LPCWSTR
string
)
;
HRESULT
NewArray
(
[
in
]
CorElementType
elementType
,
[
in
]
ICorDebugClass
*
pElementClass
,
[
in
]
ULONG32
rank
,
[
in
]
ULONG32
dims
[]
,
[
in
]
ULONG32
lowBounds
[]
)
;
HRESULT
IsActive
(
[
out
]
BOOL
*
pbActive
)
;
HRESULT
Abort
()
;
HRESULT
GetResult
(
[
out
]
ICorDebugValue
**
ppResult
)
;
HRESULT
GetThread
(
[
out
]
ICorDebugThread
**
ppThread
)
;
HRESULT
CreateValue
(
[
in
]
CorElementType
elementType
,
[
in
]
ICorDebugClass
*
pElementClass
,
[
out
]
ICorDebugValue
**
ppValue
)
;
}
;
[
object
,
local
,
uuid
(
6
DC3FA01
-
D7CB
-
11
d2
-
8
A95
-
0080
C792E5D8
),
pointer_default
(
unique
)
]
interface
ICorDebugEditAndContinueSnapshot
:
IUnknown
{
HRESULT
CopyMetaData
(
[
in
]
IStream
*
pIStream
,
[
out
]
GUID
*
pMvid
)
;
HRESULT
GetMvid
(
[
out
]
GUID
*
pMvid
)
;
HRESULT
GetRoDataRVA
(
[
out
]
ULONG32
*
pRoDataRVA
)
;
HRESULT
GetRwDataRVA
(
[
out
]
ULONG32
*
pRwDataRVA
)
;
HRESULT
SetPEBytes
(
[
in
]
IStream
*
pIStream
)
;
HRESULT
SetILMap
(
[
in
]
mdToken
mdFunction
,
[
in
]
ULONG
cMapSize
,
[
in
]
COR_IL_MAP
map
[]
)
;
HRESULT
SetPESymbolBytes
(
[
in
]
IStream
*
pIStream
)
;
}
;
[
object
,
local
,
uuid
(
dba2d8c1
-
e5c5
-
4069
-
8
c13
-
10
a7c6abf43d
),
pointer_default
(
unique
)
]
interface
ICorDebugModule
:
IUnknown
{
HRESULT
GetProcess
(
[
out
]
ICorDebugProcess
**
ppProcess
)
;
HRESULT
GetBaseAddress
(
[
out
]
CORDB_ADDRESS
*
pAddress
)
;
HRESULT
GetAssembly
(
[
out
]
ICorDebugAssembly
**
ppAssembly
)
;
HRESULT
GetName
(
[
in
]
ULONG32
cchName
,
[
out
]
ULONG32
*
pcchName
,
[
out
]
WCHAR
szName
[]
)
;
HRESULT
EnableJITDebugging
(
[
in
]
BOOL
bTrackJITInfo
,
[
in
]
BOOL
bAllowJitOpts
)
;
HRESULT
EnableClassLoadCallbacks
(
[
in
]
BOOL
bClassLoadCallbacks
)
;
HRESULT
GetFunctionFromToken
(
[
in
]
mdMethodDef
methodDef
,
[
out
]
ICorDebugFunction
**
ppFunction
)
;
HRESULT
GetFunctionFromRVA
(
[
in
]
CORDB_ADDRESS
rva
,
[
out
]
ICorDebugFunction
**
ppFunction
)
;
HRESULT
GetClassFromToken
(
[
in
]
mdTypeDef
typeDef
,
[
out
]
ICorDebugClass
**
ppClass
)
;
HRESULT
CreateBreakpoint
(
[
out
]
ICorDebugModuleBreakpoint
**
ppBreakpoint
)
;
HRESULT
GetEditAndContinueSnapshot
(
[
out
]
ICorDebugEditAndContinueSnapshot
**
ppEditAndContinueSnapshot
)
;
HRESULT
GetMetaDataInterface
(
[
in
]
REFIID
riid
,
[
out
]
IUnknown
**
ppObj
)
;
HRESULT
GetToken
(
[
out
]
mdModule
*
pToken
)
;
HRESULT
IsDynamic
(
[
out
]
BOOL
*
pDynamic
)
;
HRESULT
GetGlobalVariableValue
(
[
in
]
mdFieldDef
fieldDef
,
[
out
]
ICorDebugValue
**
ppValue
)
;
HRESULT
GetSize
(
[
out
]
ULONG32
*
pcBytes
)
;
HRESULT
IsInMemory
(
[
out
]
BOOL
*
pInMemory
)
;
}
;
[
object
,
local
,
uuid
(
CC7BCAF5
-
8
A68
-
11
d2
-
983
C
-
0000
F808342D
),
pointer_default
(
unique
)
]
interface
ICorDebugClass
:
IUnknown
{
HRESULT
GetModule
(
[
out
]
ICorDebugModule
**
pModule
)
;
HRESULT
GetToken
(
[
out
]
mdTypeDef
*
pTypeDef
)
;
HRESULT
GetStaticFieldValue
(
[
in
]
mdFieldDef
fieldDef
,
[
in
]
ICorDebugFrame
*
pFrame
,
[
out
]
ICorDebugValue
**
ppValue
)
;
}
;
[
object
,
local
,
uuid
(
df59507c
-
d47a
-
459
e
-
bce2
-
6427
eac8fd06
),
pointer_default
(
unique
)
]
interface
ICorDebugAssembly
:
IUnknown
{
HRESULT
GetProcess
(
[
out
]
ICorDebugProcess
**
ppProcess
)
;
HRESULT
GetAppDomain
(
[
out
]
ICorDebugAppDomain
**
ppAppDomain
)
;
HRESULT
EnumerateModules
(
[
out
]
ICorDebugModuleEnum
**
ppModules
)
;
HRESULT
GetCodeBase
(
[
in
]
ULONG32
cchName
,
[
out
]
ULONG32
*
pcchName
,
[
out
]
WCHAR
szName
[]
)
;
HRESULT
GetName
(
[
in
]
ULONG32
cchName
,
[
out
]
ULONG32
*
pcchName
,
[
out
]
WCHAR
szName
[]
)
;
}
;
[
object
,
local
,
uuid
(
CC7BCAF3
-
8
A68
-
11
d2
-
983
C
-
0000
F808342D
),
pointer_default
(
unique
)
]
interface
ICorDebugFunction
:
IUnknown
{
HRESULT
GetModule
(
[
out
]
ICorDebugModule
**
ppModule
)
;
HRESULT
GetClass
(
[
out
]
ICorDebugClass
**
ppClass
)
;
HRESULT
GetToken
(
[
out
]
mdMethodDef
*
pMethodDef
)
;
HRESULT
GetILCode
(
[
out
]
ICorDebugCode
**
ppCode
)
;
HRESULT
GetNativeCode
(
[
out
]
ICorDebugCode
**
ppCode
)
;
HRESULT
CreateBreakpoint
(
[
out
]
ICorDebugFunctionBreakpoint
**
ppBreakpoint
)
;
HRESULT
GetLocalVarSigToken
(
[
out
]
mdSignature
*
pmdSig
)
;
HRESULT
GetCurrentVersionNumber
(
[
out
]
ULONG32
*
pnCurrentVersion
)
;
}
;
[
object
,
local
,
uuid
(
5263
E909
-
8
CB5
-
11
d3
-
BD2F
-
0000
F80849BD
),
pointer_default
(
unique
)
]
interface
ICorDebugUnmanagedCallback
:
IUnknown
{
HRESULT
DebugEvent
(
[
in
]
LPDEBUG_EVENT
pDebugEvent
,
[
in
]
BOOL
fOutOfBand
)
;
}
;
[
object
,
local
,
uuid
(
8
D600D41
-
F4F6
-
4
cb3
-
B7EC
-
7B
D164944036
),
pointer_default
(
unique
)
]
interface
ICorDebugEditAndContinueErrorInfo
:
IUnknown
{
HRESULT
GetModule
(
[
out
]
ICorDebugModule
**
ppModule
)
;
HRESULT
GetToken
(
[
out
]
mdToken
*
pToken
)
;
HRESULT
GetErrorCode
(
[
out
]
HRESULT
*
pHr
)
;
HRESULT
GetString
(
[
in
]
ULONG32
cchString
,
[
out
]
ULONG32
*
pcchString
,
[
out
]
WCHAR
szString
[]
)
;
}
[
object
,
local
,
uuid
(
18
AD3D6E
-
B7D2
-
11
d2
-
BD04
-
0000
F80849BD
),
pointer_default
(
unique
)
]
interface
ICorDebugObjectValue
:
ICorDebugValue
{
HRESULT
GetClass
(
[
out
]
ICorDebugClass
**
ppClass
)
;
HRESULT
GetFieldValue
(
[
in
]
ICorDebugClass
*
pClass
,
[
in
]
mdFieldDef
fieldDef
,
[
out
]
ICorDebugValue
**
ppValue
)
;
HRESULT
GetVirtualMethod
(
[
in
]
mdMemberRef
memberRef
,
[
out
]
ICorDebugFunction
**
ppFunction
)
;
HRESULT
GetContext
(
[
out
]
ICorDebugContext
**
ppContext
)
;
HRESULT
IsValueClass
(
[
out
]
BOOL
*
pbIsValueClass
)
;
HRESULT
GetManagedCopy
(
[
out
]
IUnknown
**
ppObject
)
;
HRESULT
SetFromManagedCopy
(
[
in
]
IUnknown
*
pObject
)
;
}
;
[
object
,
local
,
uuid
(
CC7BCB00
-
8
A68
-
11
d2
-
983
C
-
0000
F808342D
),
pointer_default
(
unique
)
]
interface
ICorDebugContext
:
ICorDebugObjectValue
{
}
;
[
object
,
local
,
uuid
(
CC7BCAF4
-
8
A68
-
11
d2
-
983
C
-
0000
F808342D
),
pointer_default
(
unique
)
]
interface
ICorDebugCode
:
IUnknown
{
HRESULT
IsIL
(
[
out
]
BOOL
*
pbIL
)
;
HRESULT
GetFunction
(
[
out
]
ICorDebugFunction
**
ppFunction
)
;
HRESULT
GetAddress
(
[
out
]
CORDB_ADDRESS
*
pStart
)
;
HRESULT
GetSize
(
[
out
]
ULONG32
*
pcBytes
)
;
HRESULT
CreateBreakpoint
(
[
in
]
ULONG32
offset
,
[
out
]
ICorDebugFunctionBreakpoint
**
ppBreakpoint
)
;
HRESULT
GetCode
(
[
in
]
ULONG32
startOffset
,
[
in
]
ULONG32
endOffset
,
[
in
]
ULONG32
cBufferAlloc
,
[
out
]
BYTE
buffer
[]
,
[
out
]
ULONG32
*
pcBufferSize
)
;
HRESULT
GetVersionNumber
(
[
out
]
ULONG32
*
nVersion
)
;
HRESULT
GetILToNativeMapping
(
[
in
]
ULONG32
cMap
,
[
out
]
ULONG32
*
pcMap
,
[
out
]
COR_DEBUG_IL_TO_NATIVE_MAP
map
[]
)
;
HRESULT
GetEnCRemapSequencePoints
(
[
in
]
ULONG32
cMap
,
[
out
]
ULONG32
*
pcMap
,
[
out
]
ULONG32
offsets
[]
)
;
}
;
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment