[Lldb-commits] [PATCH] D47110: [LLDB, lldb-mi] Add option --synchronous.

Alexander Polyakov via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Sat May 19 14:05:22 PDT 2018


polyakov.alex created this revision.
polyakov.alex added reviewers: aprantl, clayborg, labath.
Herald added subscribers: llvm-commits, ki.stfu.

Option --synchronous disables asynchronous mode in the lldb-mi driver. Used for testing only.


Repository:
  rL LLVM

https://reviews.llvm.org/D47110

Files:
  tools/lldb-mi/MICmnResources.cpp
  tools/lldb-mi/MICmnResources.h
  tools/lldb-mi/MIDriver.cpp
  tools/lldb-mi/MIDriverMgr.cpp


Index: tools/lldb-mi/MIDriverMgr.cpp
===================================================================
--- tools/lldb-mi/MIDriverMgr.cpp
+++ tools/lldb-mi/MIDriverMgr.cpp
@@ -640,6 +640,7 @@
       MIRSRC(IDE_MI_APP_ARG_VERSION), MIRSRC(IDE_MI_APP_ARG_VERSION_LONG),
       MIRSRC(IDE_MI_APP_ARG_INTERPRETER), MIRSRC(IDE_MI_APP_ARG_SOURCE),
       MIRSRC(IDE_MI_APP_ARG_EXECUTEABLE),
+      MIRSRC(IDE_MI_APP_ARG_SYNCHRONOUS),
       CMIUtilString::Format(
           MIRSRC(IDE_MI_APP_ARG_APP_LOG),
           CMICmnLogMediumFile::Instance().GetFileName().c_str()),
Index: tools/lldb-mi/MIDriver.cpp
===================================================================
--- tools/lldb-mi/MIDriver.cpp
+++ tools/lldb-mi/MIDriver.cpp
@@ -382,6 +382,7 @@
 //          that are only handled by *this driver:
 //              --executable <file>
 //              --source <file> or -s <file>
+//              --synchronous
 //          The application's options --interpreter and --executable in code act
 //          very similar.
 //          The --executable is necessary to differentiate whether the MI Driver
@@ -397,6 +398,7 @@
 //          argument for a debug session. Using --interpreter on the command
 //          line does not
 //          issue additional commands to initialise a debug session.
+//          Option --synchronous disables an asynchronous mode in the lldb-mi driver.
 // Type:    Overridden.
 // Args:    argc        - (R)   An integer that contains the count of arguments
 // that follow in
@@ -436,6 +438,10 @@
       const CMIUtilString strArg(argv[i]);
       const CMICmdArgValFile argFile;
 
+      if (strArg.compare("--synchronous") == 0) {
+        CMICmnLLDBDebugSessionInfo::Instance().GetDebugger().SetAsync(false);
+      }
+
       // Check for a filename
       if (argFile.IsFilePath(strArg) ||
           CMICmdArgValString(true, false, true).IsStringArg(strArg)) {
Index: tools/lldb-mi/MICmnResources.h
===================================================================
--- tools/lldb-mi/MICmnResources.h
+++ tools/lldb-mi/MICmnResources.h
@@ -77,6 +77,7 @@
   IDE_MI_APP_ARG_APP_LOG_DIR,
   IDE_MI_APP_ARG_EXAMPLE,
   IDE_MI_APP_ARG_EXECUTABLE,
+  IDE_MI_APP_ARG_SYNCHRONOUS,
 
   IDS_STDIN_ERR_INVALID_PROMPT,
   IDS_STDIN_ERR_THREAD_CREATION_FAILED,
Index: tools/lldb-mi/MICmnResources.cpp
===================================================================
--- tools/lldb-mi/MICmnResources.cpp
+++ tools/lldb-mi/MICmnResources.cpp
@@ -110,6 +110,8 @@
         {IDE_MI_APP_ARG_EXECUTABLE, "executable (NOT IMPLEMENTED)\n\tThe file "
                                     "path to the executable i.e. '\"C:\\My "
                                     "Dev\\foo.exe\"'."},
+        {IDE_MI_APP_ARG_SYNCHRONOUS, "--synchronous\n\tBlock until each command "
+                                     "has finished executing.\n\tUsed for testing only."},
         {IDS_STDIN_ERR_INVALID_PROMPT,
          "Stdin. Invalid prompt description '%s'"},
         {IDS_STDIN_ERR_THREAD_CREATION_FAILED,


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D47110.147680.patch
Type: text/x-patch
Size: 3032 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20180519/a35dda70/attachment.bin>


More information about the lldb-commits mailing list