blob: 3e442a061e487a117fb84a7ed3f2bf4801503808 [file] [log] [blame]
// Copyright 2018 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
library fuchsia.crash;
using fuchsia.mem;
// Analyzes crashed processes.
[Discoverable, Layout = "Simple"]
interface Analyzer {
// Requests that the crash analyzer handles the exception thrown by the
// given |thread| in |process|.
// This method is responsible for resuming or stopping the thread once the
// analyze is done.
//
// The behavior of this method varies depending on the implementation, but
// a typical implementation might print a crash dump to the system log or
// upload a crash report to a server.
//
// |exception_port| is the port on which the exception was delivered and can
// be passed to zx_task_resume_from_exception().
1: HandleException(handle<process> process, handle<thread> thread, handle<port> exception_port) -> ();
// Requests that the crash analyzer process the crash log.
//
// The behavior of this method varies depending on the implementation, but
// a typical implementation might print the crash log to the system log or
// upload a crash report to a server with the log as attachment.
2: ProcessCrashlog(fuchsia.mem.Buffer crashlog) -> ();
};