diff options
Diffstat (limited to 'tools/lldb-perf/lib/Xcode.cpp')
-rw-r--r-- | tools/lldb-perf/lib/Xcode.cpp | 137 |
1 files changed, 0 insertions, 137 deletions
diff --git a/tools/lldb-perf/lib/Xcode.cpp b/tools/lldb-perf/lib/Xcode.cpp deleted file mode 100644 index c20fb98c4b95..000000000000 --- a/tools/lldb-perf/lib/Xcode.cpp +++ /dev/null @@ -1,137 +0,0 @@ -//===-- Xcode.cpp -----------------------------------------------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -#include "Xcode.h" -#include <string> - -using namespace std; -using namespace lldb_perf; - -void Xcode::FetchVariable(SBValue value, uint32_t expand, bool verbose) { - auto name = value.GetName(); - auto num_value = value.GetValueAsUnsigned(0); - auto summary = value.GetSummary(); - auto in_scope = value.IsInScope(); - auto has_children = value.MightHaveChildren(); - auto type_1 = value.GetType(); - auto type_2 = value.GetType(); - auto type_name_1 = value.GetTypeName(); - auto type_3 = value.GetType(); - auto type_name_2 = value.GetTypeName(); - if (verbose) - printf("%s %s = 0x%llx (%llu) %s\n", value.GetTypeName(), value.GetName(), - num_value, num_value, summary); - if (expand > 0) { - auto count = value.GetNumChildren(); - for (int i = 0; i < count; i++) { - SBValue child(value.GetChildAtIndex(i, lldb::eDynamicCanRunTarget, true)); - FetchVariable(child, expand - 1, verbose); - } - } -} - -void Xcode::FetchModules(SBTarget target, bool verbose) { - auto count = target.GetNumModules(); - for (int i = 0; i < count; i++) { - SBModule module(target.GetModuleAtIndex(i)); - auto fspec = module.GetFileSpec(); - std::string path(1024, 0); - fspec.GetPath(&path[0], 1024); - auto uuid = module.GetUUIDBytes(); - if (verbose) { - printf("%s %s\n", path.c_str(), module.GetUUIDString()); - } - } -} - -void Xcode::FetchVariables(SBFrame frame, uint32_t expand, bool verbose) { - auto values = - frame.GetVariables(true, true, true, false, eDynamicCanRunTarget); - auto count = values.GetSize(); - for (int i = 0; i < count; i++) { - SBValue value(values.GetValueAtIndex(i)); - FetchVariable(value, expand, verbose); - } -} - -void Xcode::FetchFrames(SBProcess process, bool variables, bool verbose) { - auto pCount = process.GetNumThreads(); - for (int p = 0; p < pCount; p++) { - SBThread thread(process.GetThreadAtIndex(p)); - auto tCount = thread.GetNumFrames(); - if (verbose) - printf("%s %d %d {%d}\n", thread.GetQueueName(), tCount, - thread.GetStopReason(), eStopReasonBreakpoint); - for (int t = 0; t < tCount; t++) { - SBFrame frame(thread.GetFrameAtIndex(t)); - auto fp = frame.GetFP(); - SBThread thread_dup = frame.GetThread(); - SBFileSpec filespec(process.GetTarget().GetExecutable()); - std::string path(1024, 0); - filespec.GetPath(&path[0], 1024); - auto state = process.GetState(); - auto pCount_dup = process.GetNumThreads(); - auto byte_size = process.GetAddressByteSize(); - auto pc = frame.GetPC(); - SBSymbolContext context(frame.GetSymbolContext(0x0000006e)); - SBModule module(context.GetModule()); - SBLineEntry entry(context.GetLineEntry()); - SBFileSpec entry_filespec(process.GetTarget().GetExecutable()); - std::string entry_path(1024, 0); - entry_filespec.GetPath(&entry_path[0], 1024); - auto line_1 = entry.GetLine(); - auto line_2 = entry.GetLine(); - auto fname = frame.GetFunctionName(); - if (verbose) - printf("%llu %s %d %d %llu %s %d %s\n", fp, path.c_str(), state, - byte_size, pc, entry_path.c_str(), line_1, fname); - if (variables) - FetchVariables(frame, 0, verbose); - } - } -} - -void Xcode::RunExpression(SBFrame frame, const char *expression, bool po, - bool verbose) { - SBValue value(frame.EvaluateExpression(expression, eDynamicCanRunTarget)); - FetchVariable(value, 0, verbose); - if (po) { - auto descr = value.GetObjectDescription(); - if (descr) - printf("po = %s\n", descr); - } -} - -void Xcode::Next(SBThread thread) { thread.StepOver(); } - -void Xcode::Continue(SBProcess process) { process.Continue(); } - -void Xcode::RunCommand(SBDebugger debugger, const char *cmd, bool verbose) { - SBCommandReturnObject sb_ret; - auto interpreter = debugger.GetCommandInterpreter(); - interpreter.HandleCommand(cmd, sb_ret); - if (verbose) - printf("%s\n%s\n", sb_ret.GetOutput(false), sb_ret.GetError(false)); -} - -SBThread Xcode::GetThreadWithStopReason(SBProcess process, StopReason reason) { - auto threads_count = process.GetNumThreads(); - for (auto thread_num = 0; thread_num < threads_count; thread_num++) { - SBThread thread(process.GetThreadAtIndex(thread_num)); - if (thread.GetStopReason() == reason) { - return thread; - } - } - return SBThread(); -} - -SBBreakpoint Xcode::CreateFileLineBreakpoint(SBTarget target, const char *file, - uint32_t line) { - return target.BreakpointCreateByLocation(file, line); -} |