public COR_DEBUG_STEP_RANGE[] GetStepRangesFromIP(int ip) { EnsureIsUpToDate(); // we cannot use GetRange here, since this function doesn't work // in ENC mode. // // we will calculate step ranges manually from sequence points. // COR_DEBUG_STEP_RANGE[] ret = null; for (int j = 0; j < m_SPcount; j++) if (m_SPoffsets[j] > ip) { ret = new COR_DEBUG_STEP_RANGE[1]; ret[0].endOffset = (uint) m_SPoffsets[j]; ret[0].startOffset = (uint) m_SPoffsets[j - 1]; break; } // let's handle correctly last step range from last sequence point till // end of the method. if (ret == null && m_SPcount > 0) { ret = new COR_DEBUG_STEP_RANGE[1]; ret[0].startOffset = (uint) m_SPoffsets[m_SPcount - 1]; ret[0].endOffset = (uint) CorFunction.ILCode.Size; } return ret; }
public void StepRange(bool stepInto, COR_DEBUG_STEP_RANGE[] stepRanges) { m_step.StepRange(stepInto ? 1 : 0, stepRanges, (uint) stepRanges.Length); }