56{
   59 
   60    
   61    
   62    
   63    if (SplitCommand.size() != 1 && SplitCommand.size() != 2)
   64    {
   67        return;
   68    }
   69 
   70    
   71    
   72    
   74    {
   75        ShowMessages(
"the instrumentation step-in is only supported in Debugger Mode\n");
 
   76        return;
   77    }
   78 
   79    
   80    
   81    
   83 
   84    
   85    
   86    
   87    if (SplitCommand.size() == 2)
   88    {
   90        {
   91            ShowMessages(
"please specify a correct hex value for [count]\n\n");
 
   93            return;
   94        }
   95    }
   96    else
   97    {
   98        StepCount = 1;
   99    }
  100 
  101    
  102    
  103    
  105    {
  106        
  107        
  108        
  110 
  111        for (size_t i = 0; i < StepCount; i++)
  112        {
  113            
  114            
  115            
  116            
  117            
  118            
  119 
  120            
  121            
  122            
  124 
  125            if (!SplitCommand.at(0).compare("ir"))
  126            {
  127                
  128                
  129                
  131 
  132                if (i != StepCount - 1)
  133                {
  135                }
  136            }
  137 
  138            
  139            
  140            
  142            {
  143                break;
  144            }
  145        }
  146 
  147        
  148        
  149        
  151    }
  152    else
  153    {
  154        ShowMessages(
"err, stepping (i) is not valid in the current context, you " 
  155                     "should connect to a debuggee\n");
  156    }
  157}
#define TRUE
Definition BasicTypes.h:55
#define FALSE
Definition BasicTypes.h:54
unsigned int UINT32
Definition BasicTypes.h:48
@ DEBUGGER_REMOTE_STEPPING_REQUEST_INSTRUMENTATION_STEP_IN
Definition RequestStructures.h:993
enum _DEBUGGER_REMOTE_STEPPING_REQUEST DEBUGGER_REMOTE_STEPPING_REQUEST
stepping and tracking types
BOOLEAN ConvertStringToUInt32(string TextToConvert, PUINT32 Result)
check and convert string to a 32 bit unsigned it and also check for special notations like 0x etc.
Definition common.cpp:347
VOID CommandIHelp()
help of the i command
Definition i.cpp:27
BOOLEAN g_IsInstrumentingInstructions
Shows whether the user is running 't', 'p', or 'i' command.
Definition globals.h:561
BOOLEAN g_IsSerialConnectedToRemoteDebuggee
Shows if the debugger was connected to remote debuggee over (A remote guest)
Definition globals.h:231
ACTIVE_DEBUGGING_PROCESS g_ActiveProcessDebuggingState
State of active debugging thread.
Definition globals.h:362
BOOLEAN KdSendStepPacketToDebuggee(DEBUGGER_REMOTE_STEPPING_REQUEST StepRequestType)
Sends p (step out) and t (step in) packet to the debuggee.
Definition kd.cpp:1206
VOID ShowMessages(const char *Fmt,...)
Show messages.
Definition libhyperdbg.cpp:96
BOOLEAN HyperDbgRegisterShowAll()
handler of r show all registers
Definition r.cpp:317
BOOLEAN IsActive
Definition ud.h:49