public override AssemblyLine[] Disassemble(int frameIndex, int firstLine, int count) { CheckDisposed(); if (disBuffers == null) { disBuffers = new MdbDissassemblyBuffer [frames.Length]; } MD.StackFrame frame = frames [frameIndex]; DissassemblyBuffer buffer = disBuffers [frameIndex]; if (buffer == null) { buffer = new MdbDissassemblyBuffer(frame.Thread, frame.TargetAddress); disBuffers [frameIndex] = buffer; } return(buffer.GetLines(firstLine, firstLine + count - 1)); }
public AssemblyLine[] Disassemble(int frameIndex, int firstLine, int count) { SelectFrame(frameIndex); if (disBuffers == null) { disBuffers = new DissassemblyBuffer[fcount]; } DissassemblyBuffer buffer = disBuffers[frameIndex]; if (buffer == null) { ResultData data = session.RunCommand("-stack-info-frame"); long addr = long.Parse(data.GetObject("frame").GetValue("addr").Substring(2), NumberStyles.HexNumber); buffer = new GdbDissassemblyBuffer(session, addr); disBuffers[frameIndex] = buffer; } return(buffer.GetLines(firstLine, firstLine + count - 1)); }