diff options
| author | Deepak Panickal <deepak@codeplay.com> | 2014-08-08 16:47:42 +0000 |
|---|---|---|
| committer | Deepak Panickal <deepak@codeplay.com> | 2014-08-08 16:47:42 +0000 |
| commit | d249928b84c2fc11b0940d702288cbf4f7f2d332 (patch) | |
| tree | 15c9c86005af89960c902e4f24513d5e173d00a6 /lldb/tools/lldb-mi/MICmdCmdExec.cpp | |
| parent | caa565887d7a8701624534516308da497ae46078 (diff) | |
| download | bcm5719-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.cpp | 49 |
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() ); } //++ ------------------------------------------------------------------------------------ |

