/// <summary> /// Parses the line number programs. /// </summary> /// <param name="debugLine">The debug line.</param> /// <param name="addressNormalizer">Normalize address delegate (<see cref="NormalizeAddressDelegate"/>)</param> private static DwarfLineNumberProgram[] ParseLineNumberPrograms(byte[] debugLine, NormalizeAddressDelegate addressNormalizer) { using (DwarfMemoryReader debugLineReader = new DwarfMemoryReader(debugLine)) { List <DwarfLineNumberProgram> programs = new List <DwarfLineNumberProgram>(); while (!debugLineReader.IsEnd) { DwarfLineNumberProgram program = new DwarfLineNumberProgram(debugLineReader, addressNormalizer); programs.Add(program); } return(programs.ToArray()); } }
/// <summary> /// Parses the line number programs. /// </summary> /// <param name="debugLine">The debug line.</param> /// <param name="codeSegmentOffset">The code segment offset.</param> private static DwarfLineNumberProgram[] ParseLineNumberPrograms(byte[] debugLine, ulong codeSegmentOffset) { using (DwarfMemoryReader debugLineReader = new DwarfMemoryReader(debugLine)) { List <DwarfLineNumberProgram> programs = new List <DwarfLineNumberProgram>(); while (!debugLineReader.IsEnd) { DwarfLineNumberProgram program = new DwarfLineNumberProgram(debugLineReader, codeSegmentOffset); programs.Add(program); } return(programs.ToArray()); } }