1d3a8d6565ff40fd99533f50a085ace806a9300eeGreg Clayton//===-- Xcode.h -------------------------------------------------*- C++ -*-===// 2f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata// 3d3a8d6565ff40fd99533f50a085ace806a9300eeGreg Clayton// The LLVM Compiler Infrastructure 4f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata// 5d3a8d6565ff40fd99533f50a085ace806a9300eeGreg Clayton// This file is distributed under the University of Illinois Open Source 6d3a8d6565ff40fd99533f50a085ace806a9300eeGreg Clayton// License. See LICENSE.TXT for details. 7f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata// 8d3a8d6565ff40fd99533f50a085ace806a9300eeGreg Clayton//===----------------------------------------------------------------------===// 9f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata 10f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata#ifndef __PerfTestDriver__Xcode__ 11f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata#define __PerfTestDriver__Xcode__ 12f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata 13f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata#include "lldb/API/SBDefines.h" 14f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata#include "lldb/API/SBValue.h" 15f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata#include "lldb/API/SBTarget.h" 16f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata#include "lldb/API/SBModule.h" 17f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata#include "lldb/API/SBProcess.h" 18f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata#include "lldb/API/SBLineEntry.h" 19f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata#include "lldb/API/SBThread.h" 20f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata#include "lldb/API/SBDebugger.h" 21f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata#include "lldb/API/SBCommandInterpreter.h" 22f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata#include "lldb/API/SBCommandReturnObject.h" 23f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata#include "lldb/API/SBBreakpoint.h" 24f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata 25f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granatausing namespace lldb; 26f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata 27af222500aa2ce2b18149277e561cdf75f2115df2Greg Claytonnamespace lldb_perf 28f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata{ 29f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granataclass Xcode 30f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata{ 31f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granatapublic: 32f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata static void 33f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata FetchVariable (SBValue value, uint32_t expand = 0, bool verbose = false); 34f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata 35f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata static void 36f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata FetchModules (SBTarget target, bool verbose = false); 37f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata 38f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata static void 39f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata FetchVariables (SBFrame frame, uint32_t expand = 0, bool verbose = false); 40f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata 41f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata static void 42f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata FetchFrames (SBProcess process, bool variables = false, bool verbose = false); 43f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata 44f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata static void 45f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata RunExpression (SBFrame frame, const char* expression, bool po = false, bool verbose = false); 46f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata 47f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata static void 48f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata Next (SBThread thread); 49f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata 50f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata static void 51f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata Continue (SBProcess process); 52f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata 53f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata static void 54f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata RunCommand (SBDebugger debugger, const char* cmd, bool verbose = false); 55f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata 56f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata static SBThread 57f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata GetThreadWithStopReason (SBProcess process, StopReason reason); 58f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata 59f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata static SBBreakpoint 60f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata CreateFileLineBreakpoint (SBTarget target, const char* file, uint32_t line); 61f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata}; 62af222500aa2ce2b18149277e561cdf75f2115df2Greg Clayton} 63f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata 64f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata#endif /* defined(__PerfTestDriver__Xcode__) */ 65