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,
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,
_______________________________________________
lldb-commits mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits