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