| |
| /// LLDB C API Test Driver |
| |
| #include <algorithm> |
| #include <iostream> |
| #include <iterator> |
| #include <string> |
| #include <vector> |
| #if !defined(_MSC_VER) |
| #include <signal.h> |
| #endif |
| |
| %include_SB_APIs% |
| |
| #include "common.h" |
| |
| using namespace std; |
| using namespace lldb; |
| |
| void test(SBDebugger &dbg, std::vector<string> args); |
| |
| int main(int argc, char** argv) { |
| |
| // Ignore SIGPIPE. The lldb driver does this as well, |
| // because we seem to get spurious SIGPIPES on some |
| // Unixen that take the driver down. |
| #if !defined(_MSC_VER) |
| signal(SIGPIPE, SIG_IGN); |
| #endif |
| int code = 0; |
| |
| SBDebugger::Initialize(); |
| SBDebugger dbg = SBDebugger::Create(); |
| |
| try { |
| if (!dbg.IsValid()) |
| throw Exception("invalid debugger"); |
| vector<string> args(argv + 1, argv + argc); |
| |
| test(dbg, args); |
| } catch (Exception &e) { |
| cout << "ERROR: " << e.what() << endl; |
| code = 1; |
| } |
| |
| SBDebugger::Destroy(dbg); |
| return code; |
| } |