message: Refactored frame_informations so end of ranges is correct
diff: @@ -65,10 +65,8 @@ impl ModuleInfoFrameInfo {
  /// Gets a function given a pc
  fn function_info(&self, pc: usize) -> Option<&FunctionInfo> {
  - // the +1 is to avoid selecting an interval that end with pc,
  - // as end should be non-inclusive
  - let (end, func) = self.functions.range((pc + 1)..).next()?;
  - if func.start <= pc && pc < *end {
  + let (end, func) = self.functions.range(pc..).next()?;
  + if func.start <= pc && pc <= *end {
  Some(func)
  } else {
  None
  @@ -153,10 +151,8 @@ impl GlobalFrameInfo {
  /// Gets a module given a pc
  fn module_info(&self, pc: usize) -> Option<&ModuleInfoFrameInfo> {
  - // the +1 is to avoid selecting an interval that end with pc,
  - // as end should be non-inclusive
  - let (end, module_info) = self.ranges.range((pc + 1)..).next()?;
  - if module_info.start <= pc && pc < *end {
  + let (end, module_info) = self.ranges.range(pc..).next()?;
  + if module_info.start <= pc && pc <= *end {
  Some(module_info)
  } else {
  None
  @@ -207,7 +203,7 @@ pub fn register(
  ) in finished_functions.iter()
  {
  let start = **start as usize;
  - let end = start + len;
  + let end = start + len - 1;
  min = cmp::min(min, start);
  max = cmp::max(max, end);
  let func = FunctionInfo {
  