Esempio n. 1
0
        private void BreakProcess()
        {
            if (!OrbisDbg.IsProcessPaused())
            {
                if (OrbisDbg.SendProcessSignal(OrbisDbg.SIGNALS.SIGSTOP) == 0)
                {
                    return;
                }

                if (breakpoints.Count > 0)
                {
                    for (int i = 0; i < breakpoints.Count; i++)
                    {
                        Breakpoint bp = breakpoints[i];
                        if (SelectedProcess.Equals(bp.process) && bp.enabled)
                        {
                            OrbisDbg.Ext.WriteByte(bp.address, bp.instruction);
                        }
                    }
                }

                /*OrbisDbg.registers regs = OrbisDbg.GetRegisters();
                 *
                 * if (registersForm != null)
                 *  registersForm.UpdateRegisterWindow(regs);
                 *
                 * if(memoryForm != null)
                 *  memoryForm.UpdateMemoryView(regs.r_rip, 0x1000, OrbisDbg.GetMemory(regs.r_rip, 0x1000));
                 *
                 * if(disassemblyForm != null)
                 *  disassemblyForm.UpdateDisassembly(regs.r_rip, OrbisDbg.GetMemory(regs.r_rip, 0x100), disassemblyForm.IsShowingBytes());*/

                OrbisDbg.SetSingleStep();
            }
        }