[Lldb-commits] [lldb] r238319 - Make log options uniform betwwen lldb-platform and lldb-gdbserver

Tamas Berghammer tberghammer at google.com
Wed May 27 06:34:04 PDT 2015


Author: tberghammer
Date: Wed May 27 08:34:04 2015
New Revision: 238319

URL: http://llvm.org/viewvc/llvm-project?rev=238319&view=rev
Log:
Make log options uniform betwwen lldb-platform and lldb-gdbserver

This change also get rid of an unused Debugger instance in
GDBRemoteCommunicationServerLLGS and the command interpreter from
lldb-platform what was used only for enabling logging.

Differential revision: http://reviews.llvm.org/D9876

Added:
    lldb/trunk/tools/lldb-server/LLDBServerUtilities.cpp
    lldb/trunk/tools/lldb-server/LLDBServerUtilities.h
Modified:
    lldb/trunk/include/lldb/Core/Log.h
    lldb/trunk/source/Core/Debugger.cpp
    lldb/trunk/source/Core/Log.cpp
    lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
    lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.h
    lldb/trunk/tools/lldb-server/CMakeLists.txt
    lldb/trunk/tools/lldb-server/lldb-gdbserver.cpp
    lldb/trunk/tools/lldb-server/lldb-platform.cpp
    lldb/trunk/tools/lldb-server/lldb-server.cpp

Modified: lldb/trunk/include/lldb/Core/Log.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Core/Log.h?rev=238319&r1=238318&r2=238319&view=diff
==============================================================================
--- lldb/trunk/include/lldb/Core/Log.h (original)
+++ lldb/trunk/include/lldb/Core/Log.h Wed May 27 08:34:04 2015
@@ -74,6 +74,10 @@ public:
     static bool
     GetLogChannelCallbacks(const ConstString &channel, Log::Callbacks &log_callbacks);
 
+    static bool
+    EnableLogChannel(lldb::StreamSP &log_stream_sp, uint32_t log_options, const char *channel,
+                     const char **categories, Stream &error_stream);
+
     static void
     EnableAllLogChannels(lldb::StreamSP &log_stream_sp, uint32_t log_options, const char **categories,
                          Stream *feedback_strm);

Modified: lldb/trunk/source/Core/Debugger.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Core/Debugger.cpp?rev=238319&r1=238318&r2=238319&view=diff
==============================================================================
--- lldb/trunk/source/Core/Debugger.cpp (original)
+++ lldb/trunk/source/Core/Debugger.cpp Wed May 27 08:34:04 2015
@@ -1275,8 +1275,6 @@ Debugger::SetLoggingCallback (lldb::LogO
 bool
 Debugger::EnableLog (const char *channel, const char **categories, const char *log_file, uint32_t log_options, Stream &error_stream)
 {
-    Log::Callbacks log_callbacks;
-
     StreamSP log_stream_sp;
     if (m_log_callback_stream_sp)
     {
@@ -1309,33 +1307,7 @@ Debugger::EnableLog (const char *channel
     if (log_options == 0)
         log_options = LLDB_LOG_OPTION_PREPEND_THREAD_NAME | LLDB_LOG_OPTION_THREADSAFE;
         
-    if (Log::GetLogChannelCallbacks (ConstString(channel), log_callbacks))
-    {
-        log_callbacks.enable (log_stream_sp, log_options, categories, &error_stream);
-        return true;
-    }
-    else
-    {
-        LogChannelSP log_channel_sp (LogChannel::FindPlugin (channel));
-        if (log_channel_sp)
-        {
-            if (log_channel_sp->Enable (log_stream_sp, log_options, &error_stream, categories))
-            {
-                return true;
-            }
-            else
-            {
-                error_stream.Printf ("Invalid log channel '%s'.\n", channel);
-                return false;
-            }
-        }
-        else
-        {
-            error_stream.Printf ("Invalid log channel '%s'.\n", channel);
-            return false;
-        }
-    }
-    return false;
+    return Log::EnableLogChannel(log_stream_sp, log_options, channel, categories, error_stream);
 }
 
 SourceManager &

Modified: lldb/trunk/source/Core/Log.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Core/Log.cpp?rev=238319&r1=238318&r2=238319&view=diff
==============================================================================
--- lldb/trunk/source/Core/Log.cpp (original)
+++ lldb/trunk/source/Core/Log.cpp Wed May 27 08:34:04 2015
@@ -365,6 +365,40 @@ Log::GetLogChannelCallbacks (const Const
     return false;
 }
 
+bool
+Log::EnableLogChannel(lldb::StreamSP &log_stream_sp,
+                      uint32_t log_options,
+                      const char *channel,
+                      const char **categories,
+                      Stream &error_stream)
+{
+    Log::Callbacks log_callbacks;
+    if (Log::GetLogChannelCallbacks (ConstString(channel), log_callbacks))
+    {
+        log_callbacks.enable (log_stream_sp, log_options, categories, &error_stream);
+        return true;
+    }
+    
+    LogChannelSP log_channel_sp (LogChannel::FindPlugin (channel));
+    if (log_channel_sp)
+    {
+        if (log_channel_sp->Enable (log_stream_sp, log_options, &error_stream, categories))
+        {
+            return true;
+        }
+        else
+        {
+            error_stream.Printf ("Invalid log channel '%s'.\n", channel);
+            return false;
+        }
+    }
+    else
+    {
+        error_stream.Printf ("Invalid log channel '%s'.\n", channel);
+        return false;
+    }
+}
+
 void
 Log::EnableAllLogChannels
 (

Modified: lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp?rev=238319&r1=238318&r2=238319&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp (original)
+++ lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp Wed May 27 08:34:04 2015
@@ -24,8 +24,8 @@
 #include "llvm/ADT/Triple.h"
 #include "lldb/Interpreter/Args.h"
 #include "lldb/Core/DataBuffer.h"
-#include "lldb/Core/Debugger.h"
 #include "lldb/Core/Log.h"
+#include "lldb/Core/RegisterValue.h"
 #include "lldb/Core/State.h"
 #include "lldb/Core/StreamString.h"
 #include "lldb/Host/ConnectionFileDescriptor.h"
@@ -40,7 +40,6 @@
 #include "lldb/Target/FileAction.h"
 #include "lldb/Target/MemoryRegionInfo.h"
 #include "lldb/Target/Platform.h"
-#include "lldb/Target/Process.h"
 #include "lldb/Host/common/NativeRegisterContext.h"
 #include "lldb/Host/common/NativeProcessProtocol.h"
 #include "lldb/Host/common/NativeThreadProtocol.h"
@@ -75,8 +74,7 @@ namespace
 // GDBRemoteCommunicationServerLLGS constructor
 //----------------------------------------------------------------------
 GDBRemoteCommunicationServerLLGS::GDBRemoteCommunicationServerLLGS(
-        const lldb::PlatformSP& platform_sp,
-        lldb::DebuggerSP &debugger_sp) :
+        const lldb::PlatformSP& platform_sp) :
     GDBRemoteCommunicationServerCommon ("gdb-remote.server", "gdb-remote.server.rx_packet"),
     m_platform_sp (platform_sp),
     m_async_thread (LLDB_INVALID_HOST_THREAD),
@@ -84,7 +82,6 @@ GDBRemoteCommunicationServerLLGS::GDBRem
     m_continue_tid (LLDB_INVALID_THREAD_ID),
     m_debugged_process_mutex (Mutex::eMutexTypeRecursive),
     m_debugged_process_sp (),
-    m_debugger_sp (debugger_sp),
     m_stdio_communication ("process.stdio"),
     m_inferior_prev_state (StateType::eStateInvalid),
     m_active_auxv_buffer_sp (),
@@ -93,7 +90,6 @@ GDBRemoteCommunicationServerLLGS::GDBRem
     m_next_saved_registers_id (1)
 {
     assert(platform_sp);
-    assert(debugger_sp && "must specify non-NULL debugger_sp for lldb-gdbserver");
     RegisterPacketHandlers();
 }
 

Modified: lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.h?rev=238319&r1=238318&r2=238319&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.h (original)
+++ lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.h Wed May 27 08:34:04 2015
@@ -38,8 +38,7 @@ public:
     //------------------------------------------------------------------
     // Constructors and Destructors
     //------------------------------------------------------------------
-    GDBRemoteCommunicationServerLLGS(const lldb::PlatformSP& platform_sp,
-                      lldb::DebuggerSP& debugger_sp);
+    GDBRemoteCommunicationServerLLGS(const lldb::PlatformSP& platform_sp);
 
     virtual
     ~GDBRemoteCommunicationServerLLGS();
@@ -119,7 +118,6 @@ protected:
     lldb::tid_t m_continue_tid;
     Mutex m_debugged_process_mutex;
     NativeProcessProtocolSP m_debugged_process_sp;
-    lldb::DebuggerSP m_debugger_sp;
     Communication m_stdio_communication;
     lldb::StateType m_inferior_prev_state;
     lldb::DataBufferSP m_active_auxv_buffer_sp;

Modified: lldb/trunk/tools/lldb-server/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/lldb-server/CMakeLists.txt?rev=238319&r1=238318&r2=238319&view=diff
==============================================================================
--- lldb/trunk/tools/lldb-server/CMakeLists.txt (original)
+++ lldb/trunk/tools/lldb-server/CMakeLists.txt Wed May 27 08:34:04 2015
@@ -22,17 +22,19 @@ include(../../cmake/LLDBDependencies.cma
 
 if (BUILD_SHARED_LIBS )
   add_lldb_executable(lldb-server
-    lldb-server.cpp
     lldb-gdbserver.cpp
     lldb-platform.cpp
+    lldb-server.cpp
+    LLDBServerUtilities.cpp
     )
 
   target_link_libraries(lldb-server liblldb)
 else()
   add_lldb_executable(lldb-server
-    lldb-server.cpp
     lldb-gdbserver.cpp
     lldb-platform.cpp
+    lldb-server.cpp
+    LLDBServerUtilities.cpp
     ../../source/lldb.cpp
     )
 

Added: lldb/trunk/tools/lldb-server/LLDBServerUtilities.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/lldb-server/LLDBServerUtilities.cpp?rev=238319&view=auto
==============================================================================
--- lldb/trunk/tools/lldb-server/LLDBServerUtilities.cpp (added)
+++ lldb/trunk/tools/lldb-server/LLDBServerUtilities.cpp Wed May 27 08:34:04 2015
@@ -0,0 +1,67 @@
+//===-- LLDBServerUtilities.cpp ---------------------------------*- C++ -*-===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#include "LLDBServerUtilities.h"
+
+#include "lldb/Core/Log.h"
+#include "lldb/Core/StreamFile.h"
+#include "lldb/Core/StreamString.h"
+#include "lldb/Interpreter/Args.h"
+
+#include "llvm/ADT/SmallVector.h"
+#include "llvm/ADT/StringRef.h"
+
+using namespace lldb;
+using namespace lldb_private::lldb_server;
+using namespace llvm;
+
+bool
+LLDBServerUtilities::SetupLogging(const std::string& log_file,
+	                              const StringRef& log_channels,
+	                              uint32_t log_options)
+{
+    lldb::StreamSP log_stream_sp;
+    if (log_file.empty())
+    {
+        log_stream_sp.reset(new StreamFile(stdout, false));
+    }
+    else
+    {
+        uint32_t options = File::eOpenOptionWrite | File::eOpenOptionCanCreate |
+                           File::eOpenOptionCloseOnExec | File::eOpenOptionAppend;
+        if (!(log_options & LLDB_LOG_OPTION_APPEND))
+            options |= File::eOpenOptionTruncate;
+
+        log_stream_sp.reset(new StreamFile(log_file.c_str(), options));
+    }
+
+    SmallVector<StringRef, 32> channel_array;
+    log_channels.split(channel_array, ":");
+    for (auto channel_with_categories : channel_array)
+    {
+        StreamString error_stream;
+        Args channel_then_categories(channel_with_categories);
+        std::string channel(channel_then_categories.GetArgumentAtIndex(0));
+        channel_then_categories.Shift (); // Shift off the channel
+
+        bool success = Log::EnableLogChannel(log_stream_sp,
+                                             log_options,
+                                             channel.c_str(),
+                                             channel_then_categories.GetConstArgumentVector(),
+                                             error_stream);
+        if (!success)
+        {
+            fprintf(stderr, "Unable to open log file '%s' for channel \"%s\"\n",
+                    log_file.c_str(),
+                    channel_with_categories.str().c_str());
+            return false;
+        }
+    }
+    return true;
+}

Added: lldb/trunk/tools/lldb-server/LLDBServerUtilities.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/lldb-server/LLDBServerUtilities.h?rev=238319&view=auto
==============================================================================
--- lldb/trunk/tools/lldb-server/LLDBServerUtilities.h (added)
+++ lldb/trunk/tools/lldb-server/LLDBServerUtilities.h Wed May 27 08:34:04 2015
@@ -0,0 +1,25 @@
+//===-- LLDBServerUtilities.h -----------------------------------*- C++ -*-===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#include "llvm/ADT/StringRef.h"
+
+#include <string>
+
+namespace lldb_private {
+namespace lldb_server {
+
+class LLDBServerUtilities
+{
+public:
+	static bool
+	SetupLogging(const std::string& log_file, const llvm::StringRef& log_channels, uint32_t log_options);
+};
+
+}
+}

Modified: lldb/trunk/tools/lldb-server/lldb-gdbserver.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/lldb-server/lldb-gdbserver.cpp?rev=238319&r1=238318&r2=238319&view=diff
==============================================================================
--- lldb/trunk/tools/lldb-server/lldb-gdbserver.cpp (original)
+++ lldb/trunk/tools/lldb-server/lldb-gdbserver.cpp Wed May 27 08:34:04 2015
@@ -25,20 +25,18 @@
 // Other libraries and framework includes
 #include "llvm/ADT/StringRef.h"
 
-#include "lldb/Core/Error.h"
 #include "lldb/Core/ConnectionMachPort.h"
-#include "lldb/Core/Debugger.h"
+#include "lldb/Core/Error.h"
 #include "lldb/Core/PluginManager.h"
-#include "lldb/Core/StreamFile.h"
 #include "lldb/Host/ConnectionFileDescriptor.h"
 #include "lldb/Host/HostThread.h"
-#include "lldb/Host/Pipe.h"
 #include "lldb/Host/OptionParser.h"
+#include "lldb/Host/Pipe.h"
 #include "lldb/Host/Socket.h"
 #include "lldb/Host/StringConvert.h"
 #include "lldb/Host/ThreadLauncher.h"
-#include "lldb/Interpreter/CommandInterpreter.h"
-#include "lldb/Interpreter/CommandReturnObject.h"
+#include "lldb/Target/Platform.h"
+#include "LLDBServerUtilities.h"
 #include "Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.h"
 #include "Plugins/Process/gdb-remote/ProcessGDBRemoteLog.h"
 
@@ -53,6 +51,7 @@
 using namespace llvm;
 using namespace lldb;
 using namespace lldb_private;
+using namespace lldb_private::lldb_server;
 using namespace lldb_private::process_gdb_remote;
 
 // lldb-gdbserver state
@@ -126,9 +125,8 @@ static void
 display_usage (const char *progname, const char* subcommand)
 {
     fprintf(stderr, "Usage:\n  %s %s "
-            "[--log-file log-file-path] "
-            "[--log-flags flags] "
-            "[--lldb-command command]* "
+            "[--log-file log-file-name] "
+            "[--log-channels log-channel-list] "
             "[--platform platform_name] "
             "[--setsid] "
             "[--named-pipe named-pipe-path] "
@@ -541,7 +539,6 @@ main_gdbserver (int argc, char *argv[])
     argc--;
     argv++;
     int long_option_index = 0;
-    Args log_args;
     Error error;
     int ch;
     std::string platform_name;
@@ -552,12 +549,6 @@ main_gdbserver (int argc, char *argv[])
     int unnamed_pipe_fd = -1;
     bool reverse_connect = false;
 
-    lldb::DebuggerSP debugger_sp = Debugger::CreateInstance ();
-
-    debugger_sp->SetInputFileHandle(stdin, false);
-    debugger_sp->SetOutputFileHandle(stdout, false);
-    debugger_sp->SetErrorFileHandle(stderr, false);
-
     // ProcessLaunchInfo launch_info;
     ProcessAttachInfo attach_info;
 
@@ -572,8 +563,6 @@ main_gdbserver (int argc, char *argv[])
 
     std::string short_options(OptionParser::GetShortOptionString(g_long_options));
 
-    std::vector<std::string> lldb_commands;
-
     while ((ch = getopt_long_only(argc, argv, short_options.c_str(), g_long_options, &long_option_index)) != -1)
     {
         switch (ch)
@@ -655,28 +644,8 @@ main_gdbserver (int argc, char *argv[])
         exit(option_error);
     }
 
-    SmallVector<StringRef, 32> channel_array;
-    log_channels.split(channel_array, ":");
-    uint32_t log_options = 0;
-    for (auto channel_with_categories : channel_array)
-    {
-        StreamString error_stream;
-        Args channel_then_categories(channel_with_categories);
-        std::string channel(channel_then_categories.GetArgumentAtIndex(0));
-        channel_then_categories.Shift ();  // Shift off the channel
-        bool success = debugger_sp->EnableLog (channel.c_str(),
-                                               channel_then_categories.GetConstArgumentVector(),
-                                               log_file.c_str(),
-                                               log_options,
-                                               error_stream);
-        if (!success)
-        {
-            fprintf(stderr, "Unable to open log file '%s' for channel \"%s\"",
-                    log_file.c_str(),
-                    channel_with_categories.str().c_str());
-            return -1;
-        }
-    }
+    if (!LLDBServerUtilities::SetupLogging(log_file, log_channels, 0))
+        return -1;
 
     Log *log(lldb_private::GetLogIfAnyCategoriesSet (GDBR_LOG_VERBOSE));
     if (log)
@@ -701,7 +670,7 @@ main_gdbserver (int argc, char *argv[])
     // Setup the platform that GDBRemoteCommunicationServerLLGS will use.
     lldb::PlatformSP platform_sp = setup_platform (platform_name);
 
-    GDBRemoteCommunicationServerLLGS gdb_server (platform_sp, debugger_sp);
+    GDBRemoteCommunicationServerLLGS gdb_server (platform_sp);
 
     const char *const host_and_port = argv[0];
     argc -= 1;

Modified: lldb/trunk/tools/lldb-server/lldb-platform.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/lldb-server/lldb-platform.cpp?rev=238319&r1=238318&r2=238319&view=diff
==============================================================================
--- lldb/trunk/tools/lldb-server/lldb-platform.cpp (original)
+++ lldb/trunk/tools/lldb-server/lldb-platform.cpp Wed May 27 08:34:04 2015
@@ -25,21 +25,19 @@
 
 // Other libraries and framework includes
 #include "lldb/Core/Error.h"
-#include "lldb/Core/ConnectionMachPort.h"
-#include "lldb/Core/Debugger.h"
-#include "lldb/Core/StreamFile.h"
 #include "lldb/Host/ConnectionFileDescriptor.h"
 #include "lldb/Host/HostGetOpt.h"
 #include "lldb/Host/OptionParser.h"
 #include "lldb/Host/Socket.h"
-#include "lldb/Interpreter/CommandInterpreter.h"
-#include "lldb/Interpreter/CommandReturnObject.h"
+#include "LLDBServerUtilities.h"
 #include "Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.h"
 #include "Plugins/Process/gdb-remote/ProcessGDBRemoteLog.h"
 
 using namespace lldb;
 using namespace lldb_private;
+using namespace lldb_private::lldb_server;
 using namespace lldb_private::process_gdb_remote;
+using namespace llvm;
 
 //----------------------------------------------------------------------
 // option descriptors for getopt_long_only()
@@ -53,12 +51,13 @@ static struct option g_long_options[] =
 {
     { "debug",              no_argument,        &g_debug,           1   },
     { "verbose",            no_argument,        &g_verbose,         1   },
+    { "log-file",           required_argument,  NULL,               'l' },
+    { "log-channels",       required_argument,  NULL,               'c' },
     { "listen",             required_argument,  NULL,               'L' },
     { "port-offset",        required_argument,  NULL,               'p' },
     { "gdbserver-port",     required_argument,  NULL,               'P' },
     { "min-gdbserver-port", required_argument,  NULL,               'm' },
     { "max-gdbserver-port", required_argument,  NULL,               'M' },
-    { "lldb-command",       required_argument,  NULL,               'c' },
     { "server",             no_argument,        &g_server,          1   },
     { NULL,                 0,                  NULL,               0   }
 };
@@ -71,7 +70,6 @@ static struct option g_long_options[] =
 #define HIGH_PORT   (49151u)
 #endif
 
-
 //----------------------------------------------------------------------
 // Watch for signals
 //----------------------------------------------------------------------
@@ -93,8 +91,7 @@ signal_handler(int signo)
 static void
 display_usage (const char *progname, const char *subcommand)
 {
-    fprintf(stderr, "Usage:\n  %s %s [--server] --listen port\n",
-            progname, subcommand);
+    fprintf(stderr, "Usage:\n  %s %s [--log-file log-file-name] [--log-channels log-channel-list] --server --listen port\n", progname, subcommand);
     exit(0);
 }
 
@@ -115,18 +112,14 @@ main_platform (int argc, char *argv[])
     std::string listen_host_port;
     int ch;
 
-    lldb::DebuggerSP debugger_sp = Debugger::CreateInstance ();
-
-    debugger_sp->SetInputFileHandle(stdin, false);
-    debugger_sp->SetOutputFileHandle(stdout, false);
-    debugger_sp->SetErrorFileHandle(stderr, false);
-    
+    std::string log_file;
+    StringRef log_channels; // e.g. "lldb process threads:gdb-remote default:linux all"
+  
     GDBRemoteCommunicationServerPlatform::PortMap gdbserver_portmap;
     int min_gdbserver_port = 0;
     int max_gdbserver_port = 0;
     uint16_t port_offset = 0;
     
-    std::vector<std::string> lldb_commands;
     bool show_usage = false;
     int option_error = 0;
     int socket_error = -1;
@@ -151,6 +144,16 @@ main_platform (int argc, char *argv[])
             listen_host_port.append (optarg);
             break;
 
+        case 'l': // Set Log File
+            if (optarg && optarg[0])
+                log_file.assign(optarg);
+            break;
+
+        case 'c': // Log Channels
+            if (optarg && optarg[0])
+                log_channels = StringRef(optarg);
+            break;
+
         case 'p':
             {
                 char *end = NULL;
@@ -205,10 +208,6 @@ main_platform (int argc, char *argv[])
                 }
             }
             break;
-            
-        case 'c':
-            lldb_commands.push_back(optarg);
-            break;
 
         case 'h':   /* fall-through is intentional */
         case '?':
@@ -217,6 +216,9 @@ main_platform (int argc, char *argv[])
         }
     }
 
+    if (!LLDBServerUtilities::SetupLogging(log_file, log_channels, 0))
+        return -1;
+
     // Make a port map for a port range that was specified.
     if (min_gdbserver_port < max_gdbserver_port)
     {
@@ -227,7 +229,6 @@ main_platform (int argc, char *argv[])
     {
         fprintf (stderr, "error: --min-gdbserver-port (%u) is greater than --max-gdbserver-port (%u)\n", min_gdbserver_port, max_gdbserver_port);
         option_error = 3;
-        
     }
 
     // Print usage and exit if no listening port is specified.
@@ -240,17 +241,6 @@ main_platform (int argc, char *argv[])
         exit(option_error);
     }
     
-    // Execute any LLDB commands that we were asked to evaluate.
-    for (const auto &lldb_command : lldb_commands)
-    {
-        lldb_private::CommandReturnObject result;
-        printf("(lldb) %s\n", lldb_command.c_str());
-        debugger_sp->GetCommandInterpreter().HandleCommand(lldb_command.c_str(), eLazyBoolNo, result);
-        const char *output = result.GetOutputData();
-        if (output && output[0])
-            puts(output);
-    }
-
     std::unique_ptr<Socket> listening_socket_up;
     Socket *socket = nullptr;
     const bool children_inherit_listen_socket = false;

Modified: lldb/trunk/tools/lldb-server/lldb-server.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/lldb-server/lldb-server.cpp?rev=238319&r1=238318&r2=238319&view=diff
==============================================================================
--- lldb/trunk/tools/lldb-server/lldb-server.cpp (original)
+++ lldb/trunk/tools/lldb-server/lldb-server.cpp Wed May 27 08:34:04 2015
@@ -7,7 +7,6 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "lldb/Core/Debugger.h"
 #include "lldb/Initialization/SystemLifetimeManager.h"
 #include "lldb/Initialization/SystemInitializerCommon.h"
 





More information about the lldb-commits mailing list