[Lldb-commits] [PATCH] D12977: LLDB MI addition for getting process stopped at first instruction right after launch via -exec-run
Ilia K via lldb-commits
lldb-commits at lists.llvm.org
Tue Sep 29 00:57:51 PDT 2015
ki.stfu accepted this revision.
ki.stfu added a comment.
lgtm apart a lack of description about the changes in tools/lldb-mi/MICmdCmdSupportList.cpp
================
Comment at: tools/lldb-mi/MICmdCmdExec.h:58
@@ -57,2 +57,3 @@
bool Acknowledge() override;
+ bool ParseArgs() override;
// From CMICmnBase
----------------
KLapshin wrote:
> Ilia, I checked string positions for ParseArgs() method in MICmdCmdExec.h and other command headers - ParseArgs() placed always third, so this change done in accordance with current, at least public, lldb-mi headers and minimal patching as possible.
>
> What inconsistency you mentioned ?
>
> Please take a look on ExecRun command class modified with ParseArgs() method added and non-modified classes in lldb-mi - ExecFinish or ExecNext, for example:
>
>
> ```
> class CMICmdCmdExecRun : public CMICmdBase
> {
> // Statics:
> public:
> // Required by the CMICmdFactory when registering *this command
> static CMICmdBase *CreateSelf();
>
> // Methods:
> public:
> /* ctor */ CMICmdCmdExecRun();
>
> // Overridden:
> public:
> // From CMICmdInvoker::ICmd
> bool Execute() override;
> bool Acknowledge() override;
> bool ParseArgs() override;
> // From CMICmnBase
> /* dtor */ ~CMICmdCmdExecRun() override;
>
> // Attributes:
> private:
> lldb::SBCommandReturnObject m_lldbResult;
> const CMIUtilString m_constStrArgStart; // StopAtEntry - run to first instruction or main(), just run process if not specified
> };
> ```
>
>
> ```
> class CMICmdCmdExecFinish : public CMICmdBase
> {
> // Statics:
> public:
> // Required by the CMICmdFactory when registering *this command
> static CMICmdBase *CreateSelf();
>
> // Methods:
> public:
> /* ctor */ CMICmdCmdExecFinish();
>
> // Overridden:
> public:
> // From CMICmdInvoker::ICmd
> bool Execute() override;
> bool Acknowledge() override;
> bool ParseArgs() override; <---
> // From CMICmnBase
> /* dtor */ ~CMICmdCmdExecFinish() override;
>
> // Attributes:
> private:
> lldb::SBCommandReturnObject m_lldbResult;
> const CMIUtilString m_constStrArgThread; // Not specified in MI spec but Eclipse gives this option
> const CMIUtilString m_constStrArgFrame; // Not specified in MI spec but Eclipse gives this option
> };
> ```
Ok, I see that it's already in consistency with others. I was baffled because ::ParseArgs() is followed by ::Execute() in source files.
Repository:
rL LLVM
http://reviews.llvm.org/D12977
More information about the lldb-commits
mailing list