Headers for the tracing functions.
More...
Go to the source code of this file.
Headers for the tracing functions.
- Author
- Sina Karvandi (sina@.nosp@m.hype.nosp@m.rdbg..nosp@m.org)
- Version
- 0.7
- Date
- 2023-11-03
- Copyright
- This project is released under the GNU Public License v3.
◆ TracingCheckForContinuingSteps()
Change for continuing the stepping state in the case of tracing instructions.
- Parameters
-
DbgState | The state of the debugger on the current core |
- Returns
- VOID
95{
96
97
98
99
101 {
103 }
104}
#define TRUE
Definition BasicTypes.h:55
VOID VmFuncChangeMtfUnsettingState(UINT32 CoreId, BOOLEAN Set)
Suppress unsetting MTF.
Definition Export.c:47
UINT32 CoreId
Definition State.h:169
BOOLEAN TracingMode
Definition State.h:177
◆ TracingHandleMtf()
Callback for handling VM-exits for MTF in the case of tracing instructions.
- Parameters
-
DbgState | The state of the debugger on the current core |
- Returns
- VOID
44{
45
46
47
49
50
51
52
54
55
56
57
59}
VOID TracingCheckForContinuingSteps(PROCESSOR_DEBUGGING_STATE *DbgState)
Change for continuing the stepping state in the case of tracing instructions.
Definition Tracing.c:94
VOID TracingRestoreSystemState(PROCESSOR_DEBUGGING_STATE *DbgState)
Restore the system state in the case of tracing instructions.
Definition Tracing.c:68
◆ TracingPerformInstrumentationStepIn()
Perform tracing of instructions (instrumentation step-in)
- Parameters
-
DbgState | The state of the debugger on the current core |
- Returns
- VOID
23{
25
27
28
29
30
32
34}
#define FALSE
Definition BasicTypes.h:54
UINT32 DisassemblerShowOneInstructionInVmxRootMode(PVOID Address, BOOLEAN Is32Bit)
Shows the disassembly of only one instruction.
Definition Disassembler.c:328
VOID VmFuncRegisterMtfBreak(UINT32 CoreId)
Register for break in the case of an MTF.
Definition Export.c:73
VOID VmFuncEnableMtfAndChangeExternalInterruptState(UINT32 CoreId)
Enables MTF and adjust external interrupt state.
Definition Export.c:799
UINT64 VmFuncGetLastVmexitRip(UINT32 CoreId)
get the last vm-exit RIP
Definition Export.c:318
◆ TracingPerformRegularStepInInstruction()
Regular step-in | step one instruction to the debuggee.
- Parameters
-
DbgState | The state of the debugger on the current core |
- Returns
- VOID
114{
115 UNREFERENCED_PARAMETER(DbgState);
116
119
120
121
122
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
140
141 Interruptibility = InterruptibilityOld;
142
144
145 if ((Interruptibility != InterruptibilityOld))
146 {
148 }
149}
#define NULL64_ZERO
Definition BasicTypes.h:52
unsigned __int64 UINT64
Definition BasicTypes.h:21
VOID VmFuncSetInterruptibilityState(UINT64 InterruptibilityState)
Set guest's interruptibility state.
Definition Export.c:421
UINT64 VmFuncClearSteppingBits(UINT64 Interruptibility)
Clear STI and MOV SS bits.
Definition Export.c:409
UINT64 VmFuncGetInterruptibilityState()
Read guest's interruptibility state.
Definition Export.c:398
VOID VmFuncSetRflagTrapFlag(BOOLEAN Set)
Set Rflag's trap flag.
Definition Export.c:110
◆ TracingRestoreSystemState()
Restore the system state in the case of tracing instructions.
- Parameters
-
DbgState | The state of the debugger on the current core |
- Returns
- VOID
69{
70
71
72
74
75
76
77
79
80
81
82
84}
VOID VmFuncEnableAndCheckForPreviousExternalInterrupts(UINT32 CoreId)
Checks to enable and reinject previous interrupts.
Definition Export.c:812
VOID VmFuncUnRegisterMtfBreak(UINT32 CoreId)
Unregister for break in the case of an MTF.
Definition Export.c:86