Termination function for external-interrupts. 
   32{
   33    UNREFERENCED_PARAMETER(OptionalParam3);
   34 
   37 
   38    switch (VmcallNumber)
   39    {
   41    {
   44                                              NULL);
   46        break;
   47    }
   49    {
   52 
   53        TempReg = DbgState->
Regs;
 
   54 
   55        
   56        
   57        
   58        
   59        
   61 
   64                                              TriggeredEventDetail);
   65 
   66        
   67        
   68        
   69        DbgState->
Regs = TempReg;
 
   70 
   72        break;
   73    }
   75    {
   77 
   79        break;
   80    }
   82    {
   83        
   84        
   85        
   86 
   88        {
   90                (
CHAR *)OptionalParam1,
 
   93        }
   94 
   96        break;
   97    }
   99    {
  100        
  101        
  102        
  103        
  105 
  110 
  111        
  112        
  113        
  114        
  116        {
  118 
  121                                                  NULL);
  122        }
  123 
  125        break;
  126    }
  127    default:
  129        LogError(
"Err, invalid VMCALL in top-level debugger");
 
  130 
  131        break;
  132    }
  133 
  134    return Result;
  135}
UCHAR BOOLEAN
Definition BasicTypes.h:39
#define NULL64_ZERO
Definition BasicTypes.h:52
#define TRUE
Definition BasicTypes.h:55
#define FALSE
Definition BasicTypes.h:54
unsigned __int64 UINT64
Definition BasicTypes.h:21
unsigned int UINT32
Definition BasicTypes.h:48
char CHAR
Definition BasicTypes.h:31
@ DEBUGGER_REMOTE_PACKET_TYPE_DEBUGGEE_TO_DEBUGGER
Definition Connection.h:164
@ DEBUGGEE_PAUSING_REASON_DEBUGGEE_EVENT_TRIGGERED
Definition Connection.h:35
@ DEBUGGEE_PAUSING_REASON_PAUSE
Definition Connection.h:25
@ DEBUGGEE_PAUSING_REASON_REQUEST_FROM_DEBUGGER
Definition Connection.h:26
#define OPERATION_LOG_INFO_MESSAGE
Message logs id that comes from kernel-mode to user-mode.
Definition Constants.h:366
#define DEBUGGER_VMCALL_SIGNAL_DEBUGGER_EXECUTION_FINISHED
VMCALL to signal debugger that debuggee finished execution of the command.
Definition DebuggerVmcalls.h:36
#define DEBUGGER_VMCALL_SEND_MESSAGES_TO_DEBUGGER
VMCALL to send messages to the debugger.
Definition DebuggerVmcalls.h:42
#define DEBUGGER_VMCALL_VM_EXIT_HALT_SYSTEM_AS_A_RESULT_OF_TRIGGERING_EVENT
VMCALL to cause vm-exit and halt the system because of triggering an event.
Definition DebuggerVmcalls.h:29
#define DEBUGGER_VMCALL_VM_EXIT_HALT_SYSTEM
VMCALL to cause vm-exit and halt the system.
Definition DebuggerVmcalls.h:22
#define DEBUGGER_VMCALL_SEND_GENERAL_BUFFER_TO_DEBUGGER
VMCALL to send general buffers from debuggee user-mode to the debugger.
Definition DebuggerVmcalls.h:49
#define LogError(format,...)
Log in the case of error.
Definition HyperDbgHyperLogIntrinsics.h:113
VOID KdSendCommandFinishedSignal(UINT32 CoreId)
Notify debugger that the execution of command finished.
Definition Kd.c:924
_Use_decl_annotations_ VOID KdHandleBreakpointAndDebugBreakpoints(PROCESSOR_DEBUGGING_STATE *DbgState, DEBUGGEE_PAUSING_REASON Reason, PDEBUGGER_TRIGGERED_EVENT_DETAILS EventDetails)
Handle #DBs and #BPs for kernel debugger.
Definition Kd.c:1214
_Use_decl_annotations_ BOOLEAN KdLoggingResponsePacketToDebugger(CHAR *OptionalBuffer, UINT32 OptionalBufferLength, UINT32 OperationCode)
Sends a HyperDbg logging response packet to the debugger.
Definition Kd.c:372
_Use_decl_annotations_ BOOLEAN KdResponsePacketToDebugger(DEBUGGER_REMOTE_PACKET_TYPE PacketType, DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION Response, CHAR *OptionalBuffer, UINT32 OptionalBufferLength)
Sends a HyperDbg response packet to the debugger.
Definition Kd.c:294
#define SIZEOF_DEBUGGEE_SEND_GENERAL_PACKET_FROM_DEBUGGEE_TO_DEBUGGER
Definition RequestStructures.h:376
NULL()
Definition test-case-generator.py:530
request for send general packets from debuggee to debugger
Definition RequestStructures.h:384
BOOLEAN PauseDebuggeeWhenSent
Definition RequestStructures.h:387
DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION RequestedAction
Definition RequestStructures.h:385
UINT32 LengthOfBuffer
Definition RequestStructures.h:386
The structure of detail of a triggered event in HyperDbg.
Definition DataTypes.h:192
Saves the debugger state.
Definition State.h:165
GUEST_REGS * Regs
Definition State.h:168
BOOLEAN IgnoreDisasmInNextPacket
Definition State.h:171
Definition BasicTypes.h:70