public FrameInfo[] Thread_GetFrameInfo (long id, int start_frame, int length) {
var res = SendReceive (CommandSet.THREAD, (int)CmdThread.GET_FRAME_INFO, new PacketWriter ().WriteId (id).WriteInt (start_frame).WriteInt (length));
int count = res.ReadInt ();
var frames = new FrameInfo [count];
for (int i = 0; i < count; ++i) {
frames [i].id = res.ReadInt ();
frames [i].method = res.ReadId ();
frames [i].il_offset = res.ReadInt ();
frames [i].flags = (StackFrameFlags)res.ReadByte ();
}
return frames;
}