Xcode.h revision af222500aa2ce2b18149277e561cdf75f2115df2
1f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata// 2f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata// Xcode.h 3f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata// PerfTestDriver 4f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata// 5f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata// Created by Enrico Granata on 3/6/13. 6f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata// Copyright (c) 2013 Apple Inc. All rights reserved. 7f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata// 8f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata 9f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata#ifndef __PerfTestDriver__Xcode__ 10f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata#define __PerfTestDriver__Xcode__ 11f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata 12f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata#include "lldb/API/SBDefines.h" 13f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata#include "lldb/API/SBValue.h" 14f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata#include "lldb/API/SBTarget.h" 15f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata#include "lldb/API/SBModule.h" 16f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata#include "lldb/API/SBProcess.h" 17f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata#include "lldb/API/SBLineEntry.h" 18f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata#include "lldb/API/SBThread.h" 19f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata#include "lldb/API/SBDebugger.h" 20f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata#include "lldb/API/SBCommandInterpreter.h" 21f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata#include "lldb/API/SBCommandReturnObject.h" 22f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata#include "lldb/API/SBBreakpoint.h" 23f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata 24f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granatausing namespace lldb; 25f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata 26af222500aa2ce2b18149277e561cdf75f2115df2Greg Claytonnamespace lldb_perf 27f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata{ 28f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granataclass Xcode 29f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata{ 30f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granatapublic: 31f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata static void 32f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata FetchVariable (SBValue value, uint32_t expand = 0, bool verbose = false); 33f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata 34f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata static void 35f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata FetchModules (SBTarget target, bool verbose = false); 36f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata 37f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata static void 38f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata FetchVariables (SBFrame frame, uint32_t expand = 0, bool verbose = false); 39f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata 40f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata static void 41f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata FetchFrames (SBProcess process, bool variables = false, bool verbose = false); 42f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata 43f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata static void 44f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata RunExpression (SBFrame frame, const char* expression, bool po = false, bool verbose = false); 45f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata 46f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata static void 47f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata Next (SBThread thread); 48f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata 49f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata static void 50f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata Continue (SBProcess process); 51f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata 52f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata static void 53f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata RunCommand (SBDebugger debugger, const char* cmd, bool verbose = false); 54f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata 55f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata static SBThread 56f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata GetThreadWithStopReason (SBProcess process, StopReason reason); 57f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata 58f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata static SBBreakpoint 59f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata CreateFileLineBreakpoint (SBTarget target, const char* file, uint32_t line); 60f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata}; 61af222500aa2ce2b18149277e561cdf75f2115df2Greg Clayton} 62f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata 63f5af85a2946ed4e1ff4766829d328cfb4961f259Enrico Granata#endif /* defined(__PerfTestDriver__Xcode__) */ 64