summaryrefslogtreecommitdiffstats
path: root/lldb/tools/lldb-mi/MICmdCmdExec.cpp
diff options
context:
space:
mode:
authorDeepak Panickal <deepak@codeplay.com>2014-08-08 16:47:42 +0000
committerDeepak Panickal <deepak@codeplay.com>2014-08-08 16:47:42 +0000
commitd249928b84c2fc11b0940d702288cbf4f7f2d332 (patch)
tree15c9c86005af89960c902e4f24513d5e173d00a6 /lldb/tools/lldb-mi/MICmdCmdExec.cpp
parentcaa565887d7a8701624534516308da497ae46078 (diff)
downloadbcm5719-llvm-d249928b84c2fc11b0940d702288cbf4f7f2d332.tar.gz
bcm5719-llvm-d249928b84c2fc11b0940d702288cbf4f7f2d332.zip
Add new MI commands, features and fixes to the lldb-mi driver.
- Can now load an executable directly as an argument. - Fixes towards supporting local debugging. - Fixes for stack-list-arguments, data-evaluate-expression, environment-cd, stack-list-locals, interpreter-exec. - Fix breakpoint event handling. - Support dynamic loading of libraries using the search paths provided by Eclipse. llvm-svn: 215223
Diffstat (limited to 'lldb/tools/lldb-mi/MICmdCmdExec.cpp')
-rw-r--r--lldb/tools/lldb-mi/MICmdCmdExec.cpp49
1 files changed, 6 insertions, 43 deletions
diff --git a/lldb/tools/lldb-mi/MICmdCmdExec.cpp b/lldb/tools/lldb-mi/MICmdCmdExec.cpp
index 9d7bf312f18..417492d2314 100644
--- a/lldb/tools/lldb-mi/MICmdCmdExec.cpp
+++ b/lldb/tools/lldb-mi/MICmdCmdExec.cpp
@@ -17,7 +17,7 @@
// CMICmdCmdExecNextInstruction implementation.
// CMICmdCmdExecStepInstruction implementation.
// CMICmdCmdExecFinish implementation.
-// CMICmdCmdExecInterupt implementation.
+// CMICmdCmdExecInterrupt implementation.
//
// Environment: Compilers: Visual C++ 12.
// gcc (Ubuntu/Linaro 4.8.1-10ubuntu9) 4.8.1
@@ -30,14 +30,12 @@
#include <lldb/API/SBCommandInterpreter.h>
// In-house headers:
-#include "MICmnConfig.h"
#include "MICmdCmdExec.h"
#include "MICmnMIResultRecord.h"
#include "MICmnMIValueConst.h"
#include "MICmnLLDBDebugger.h"
#include "MICmnLLDBDebugSessionInfo.h"
#include "MIDriver.h"
-#include "MICmdArgContext.h"
#include "MICmdArgValNumber.h"
#include "MICmdArgValString.h"
#include "MICmdArgValThreadGrp.h"
@@ -300,14 +298,7 @@ bool CMICmdCmdExecNext::ParseArgs( void )
{
bool bOk = m_setCmdArgs.Add( *(new CMICmdArgValOptionLong( m_constStrArgThread, true, true, CMICmdArgValListBase::eArgValType_Number, 1 ) ) );
bOk = bOk && m_setCmdArgs.Add( *(new CMICmdArgValNumber( m_constStrArgNumber, false, false ) ) );
- CMICmdArgContext argCntxt( m_cmdData.strMiCmdOption );
- if( bOk && !m_setCmdArgs.Validate( m_cmdData.strMiCmd, argCntxt ) )
- {
- SetError( CMIUtilString::Format( MIRSRC( IDS_CMD_ERR_ARGS ), m_cmdData.strMiCmd.c_str(), m_setCmdArgs.GetErrorDescription().c_str() ) );
- return MIstatus::failure;
- }
-
- return bOk;
+ return (bOk && ParseValidateCmdOptions() );
}
//++ ------------------------------------------------------------------------------------
@@ -428,14 +419,7 @@ bool CMICmdCmdExecStep::ParseArgs( void )
{
bool bOk = m_setCmdArgs.Add( *(new CMICmdArgValOptionLong( m_constStrArgThread, true, true, CMICmdArgValListBase::eArgValType_Number, 1 ) ) );
bOk = bOk && m_setCmdArgs.Add( *(new CMICmdArgValNumber( m_constStrArgNumber, false, false ) ) );
- CMICmdArgContext argCntxt( m_cmdData.strMiCmdOption );
- if( bOk && !m_setCmdArgs.Validate( m_cmdData.strMiCmd, argCntxt ) )
- {
- SetError( CMIUtilString::Format( MIRSRC( IDS_CMD_ERR_ARGS ), m_cmdData.strMiCmd.c_str(), m_setCmdArgs.GetErrorDescription().c_str() ) );
- return MIstatus::failure;
- }
-
- return bOk;
+ return (bOk && ParseValidateCmdOptions() );
}
//++ ------------------------------------------------------------------------------------
@@ -556,14 +540,7 @@ bool CMICmdCmdExecNextInstruction::ParseArgs( void )
{
bool bOk = m_setCmdArgs.Add( *(new CMICmdArgValOptionLong( m_constStrArgThread, true, true, CMICmdArgValListBase::eArgValType_Number, 1 ) ) );
bOk = bOk && m_setCmdArgs.Add( *(new CMICmdArgValNumber( m_constStrArgNumber, false, false ) ) );
- CMICmdArgContext argCntxt( m_cmdData.strMiCmdOption );
- if( bOk && !m_setCmdArgs.Validate( m_cmdData.strMiCmd, argCntxt ) )
- {
- SetError( CMIUtilString::Format( MIRSRC( IDS_CMD_ERR_ARGS ), m_cmdData.strMiCmd.c_str(), m_setCmdArgs.GetErrorDescription().c_str() ) );
- return MIstatus::failure;
- }
-
- return bOk;
+ return (bOk && ParseValidateCmdOptions() );
}
//++ ------------------------------------------------------------------------------------
@@ -684,14 +661,7 @@ bool CMICmdCmdExecStepInstruction::ParseArgs( void )
{
bool bOk = m_setCmdArgs.Add( *(new CMICmdArgValOptionLong( m_constStrArgThread, true, true, CMICmdArgValListBase::eArgValType_Number, 1 ) ) );
bOk = bOk && m_setCmdArgs.Add( *(new CMICmdArgValNumber( m_constStrArgNumber, false, false ) ) );
- CMICmdArgContext argCntxt( m_cmdData.strMiCmdOption );
- if( bOk && !m_setCmdArgs.Validate( m_cmdData.strMiCmd, argCntxt ) )
- {
- SetError( CMIUtilString::Format( MIRSRC( IDS_CMD_ERR_ARGS ), m_cmdData.strMiCmd.c_str(), m_setCmdArgs.GetErrorDescription().c_str() ) );
- return MIstatus::failure;
- }
-
- return bOk;
+ return (bOk && ParseValidateCmdOptions() );
}
//++ ------------------------------------------------------------------------------------
@@ -812,14 +782,7 @@ bool CMICmdCmdExecFinish::ParseArgs( void )
{
bool bOk = m_setCmdArgs.Add( *(new CMICmdArgValOptionLong( m_constStrArgThread, true, true, CMICmdArgValListBase::eArgValType_Number, 1 ) ) );
bOk = bOk && m_setCmdArgs.Add( *(new CMICmdArgValOptionLong( m_constStrArgFrame, false, false, CMICmdArgValListBase::eArgValType_Number, 1 ) ) );
- CMICmdArgContext argCntxt( m_cmdData.strMiCmdOption );
- if( bOk && !m_setCmdArgs.Validate( m_cmdData.strMiCmd, argCntxt ) )
- {
- SetError( CMIUtilString::Format( MIRSRC( IDS_CMD_ERR_ARGS ), m_cmdData.strMiCmd.c_str(), m_setCmdArgs.GetErrorDescription().c_str() ) );
- return MIstatus::failure;
- }
-
- return bOk;
+ return (bOk && ParseValidateCmdOptions() );
}
//++ ------------------------------------------------------------------------------------
OpenPOWER on IntegriCloud