class DEBUGGER__::ThreadClient

def exceptionDetails exc, text

def exceptionDetails exc, text
  frames = [
    {
      columnNumber: 0,
      functionName: 'eval',
      lineNumber: 0,
      url: ''
    }
  ]
  exc.backtrace_locations&.each do |loc|
    break if loc.path == __FILE__
    path = loc.absolute_path || loc.path
    frames << {
      columnNumber: 0,
      functionName: loc.base_label,
      lineNumber: loc.lineno - 1,
      url: path
    }
  end
  {
    exceptionId: 1,
    text: text,
    lineNumber: 0,
    columnNumber: 0,
    exception: evaluate_result(exc),
    stackTrace: {
      callFrames: frames
    }
  }
end