Files
clang-p2996/lldb/source/Plugins/Process/POSIX/POSIXStopInfo.cpp
Chaoren Lin 28e57429fc Share crash information between LLGS and local POSIX debugging with
CrashReason class. Deliver crash information from LLGS to lldb via
description field of thread stop packet.

llvm-svn: 227926
2015-02-03 01:51:25 +00:00

93 lines
2.0 KiB
C++

//===-- POSIXStopInfo.cpp ---------------------------------------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#include "POSIXStopInfo.h"
using namespace lldb;
using namespace lldb_private;
//===----------------------------------------------------------------------===//
// POSIXLimboStopInfo
POSIXLimboStopInfo::~POSIXLimboStopInfo() { }
lldb::StopReason
POSIXLimboStopInfo::GetStopReason() const
{
return lldb::eStopReasonThreadExiting;
}
const char *
POSIXLimboStopInfo::GetDescription()
{
return "thread exiting";
}
bool
POSIXLimboStopInfo::ShouldStop(Event *event_ptr)
{
return false;
}
bool
POSIXLimboStopInfo::ShouldNotify(Event *event_ptr)
{
return false;
}
//===----------------------------------------------------------------------===//
// POSIXCrashStopInfo
POSIXCrashStopInfo::POSIXCrashStopInfo(POSIXThread &thread,
uint32_t status,
CrashReason reason,
lldb::addr_t fault_addr)
: POSIXStopInfo(thread, status)
{
m_description = ::GetCrashReasonString(reason, fault_addr);
}
POSIXCrashStopInfo::~POSIXCrashStopInfo() { }
lldb::StopReason
POSIXCrashStopInfo::GetStopReason() const
{
return lldb::eStopReasonException;
}
//===----------------------------------------------------------------------===//
// POSIXNewThreadStopInfo
POSIXNewThreadStopInfo::~POSIXNewThreadStopInfo() { }
lldb::StopReason
POSIXNewThreadStopInfo::GetStopReason() const
{
return lldb::eStopReasonNone;
}
const char *
POSIXNewThreadStopInfo::GetDescription()
{
return "thread spawned";
}
bool
POSIXNewThreadStopInfo::ShouldStop(Event *event_ptr)
{
return false;
}
bool
POSIXNewThreadStopInfo::ShouldNotify(Event *event_ptr)
{
return false;
}