diff options
| author | Greg Clayton <gclayton@apple.com> | 2013-11-20 21:07:01 +0000 |
|---|---|---|
| committer | Greg Clayton <gclayton@apple.com> | 2013-11-20 21:07:01 +0000 |
| commit | fbb7634934d40548b650574a2f2a85ab41527674 (patch) | |
| tree | 3b8bb1b8c997ecff27411cf8a16978b3ee7f9c92 /lldb/tools/lldb-platform/lldb-platform.cpp | |
| parent | 884bde303126f5e923fb34e568afd0639af9504a (diff) | |
| download | bcm5719-llvm-fbb7634934d40548b650574a2f2a85ab41527674.tar.gz bcm5719-llvm-fbb7634934d40548b650574a2f2a85ab41527674.zip | |
Expose SBPlatform through the public API.
Example code:
remote_platform = lldb.SBPlatform("remote-macosx");
remote_platform.SetWorkingDirectory("/private/tmp")
debugger.SetSelectedPlatform(remote_platform)
connect_options = lldb.SBPlatformConnectOptions("connect://localhost:1111");
err = remote_platform.ConnectRemote(connect_options)
if err.Success():
print >> result, 'Connected to remote platform:'
print >> result, 'hostname: %s' % (remote_platform.GetHostname())
src = lldb.SBFileSpec("/Applications/Xcode.app/Contents/SharedFrameworks/LLDB.framework", False)
dst = lldb.SBFileSpec()
# copy src to platform working directory since "dst" is empty
err = remote_platform.Install(src, dst);
if err.Success():
print >> result, '%s installed successfully' % (src)
else:
print >> result, 'error: failed to install "%s": %s' % (src, err)
Implemented many calls needed in lldb-platform to be able to install a directory that contains symlinks, file and directories.
The remote lldb-platform can now launch GDB servers on the remote system so that remote debugging can be spawned through the remote platform when connected to a remote platform.
The API in SBPlatform is subject to change and will be getting many new functions.
llvm-svn: 195273
Diffstat (limited to 'lldb/tools/lldb-platform/lldb-platform.cpp')
| -rw-r--r-- | lldb/tools/lldb-platform/lldb-platform.cpp | 42 |
1 files changed, 4 insertions, 38 deletions
diff --git a/lldb/tools/lldb-platform/lldb-platform.cpp b/lldb/tools/lldb-platform/lldb-platform.cpp index 007e69c9281..21063f9a0f7 100644 --- a/lldb/tools/lldb-platform/lldb-platform.cpp +++ b/lldb/tools/lldb-platform/lldb-platform.cpp @@ -21,6 +21,7 @@ // C++ Includes // Other libraries and framework includes +#include "lldb/lldb-private-log.h" #include "lldb/Core/Error.h" #include "lldb/Core/ConnectionFileDescriptor.h" #include "lldb/Core/ConnectionMachPort.h" @@ -96,44 +97,9 @@ main (int argc, char *argv[]) int ch; Debugger::Initialize(); -// ConnectionMachPort a; -// ConnectionMachPort b; -// -// lldb::ConnectionStatus status; -// const char *bootstrap_service_name = "HelloWorld"; -// status = a.BootstrapCheckIn(bootstrap_service_name, &error); -// -// if (status != eConnectionStatusSuccess) -// { -// fprintf(stderr, "%s", error.AsCString()); -// return 1; -// } -// status = b.BootstrapLookup (bootstrap_service_name, &error); -// if (status != eConnectionStatusSuccess) -// { -// fprintf(stderr, "%s", error.AsCString()); -// return 2; -// } -// -// if (a.Write ("hello", 5, status, &error) == 5) -// { -// char buf[32]; -// memset(buf, 0, sizeof(buf)); -// if (b.Read (buf, 5, status, &error)) -// { -// printf("read returned bytes: %s", buf); -// } -// else -// { -// fprintf(stderr, "%s", error.AsCString()); -// return 4; -// } -// } -// else -// { -// fprintf(stderr, "%s", error.AsCString()); -// return 3; -// } +// StreamSP stream_sp (new StreamFile(stdout, false)); +// const char *log_channels[] = { "host", "process", NULL }; +// EnableLog (stream_sp, 0, log_channels, NULL); while ((ch = getopt_long_only(argc, argv, "l:f:L:", g_long_options, &long_option_index)) != -1) { |

