blob: 26f57b13217990378084bfb59b4609a93efcc1bc [file] [log] [blame]
// Copyright 2020 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.
#ifndef SRC_DEVELOPER_DEBUG_ZXDB_CLIENT_STOP_INFO_H_
#define SRC_DEVELOPER_DEBUG_ZXDB_CLIENT_STOP_INFO_H_
#include "src/developer/debug/ipc/records.h"
#include "src/lib/fxl/memory/weak_ptr.h"
namespace zxdb {
class Breakpoint;
// Information on a thread stop notification.
struct StopInfo {
debug_ipc::ExceptionType exception_type = debug_ipc::ExceptionType::kNone;
debug_ipc::ExceptionRecord exception_record;
// Breakpoints at this address. There can be more than one breakpoint at the same address.
//
// These are weak poiners because there can be multiple observers and certain observers might
// remove breakpoints in response to the notification, leaving it null for later observers.
std::vector<fxl::WeakPtr<Breakpoint>> hit_breakpoints;
};
} // namespace zxdb
#endif // SRC_DEVELOPER_DEBUG_ZXDB_CLIENT_STOP_INFO_H_