[Lldb-commits] [lldb] r227810 - Fix log file generation in lldb-mi.

Hafiz Abid Qadeer hafiz_abid at mentor.com
Mon Feb 2 09:08:26 PST 2015


Author: abidh
Date: Mon Feb  2 11:08:25 2015
New Revision: 227810

URL: http://llvm.org/viewvc/llvm-project?rev=227810&view=rev
Log:
Fix log file generation in lldb-mi.

When it runs, lldb-mi creates a log file. There is an option --noLog
to disable the creation but it does not work and you end up with log 
file. This happens as log is enabled in a few places in the code 
although it has been disabled by this option.

This commit tried to fix the problem in the following way.

Log file generation is disabled by default.
You can enable it by giving --log option. It is the only way to enable
it. Rest of the call have been removed.

So the code basically remove the calls that enable the log 
unconditionally and changes the option --noLog to --log.


Modified:
    lldb/trunk/tools/lldb-mi/MICmnLog.cpp
    lldb/trunk/tools/lldb-mi/MICmnResources.cpp
    lldb/trunk/tools/lldb-mi/MICmnResources.h
    lldb/trunk/tools/lldb-mi/MIDriverMgr.cpp

Modified: lldb/trunk/tools/lldb-mi/MICmnLog.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/lldb-mi/MICmnLog.cpp?rev=227810&r1=227809&r2=227810&view=diff
==============================================================================
--- lldb/trunk/tools/lldb-mi/MICmnLog.cpp (original)
+++ lldb/trunk/tools/lldb-mi/MICmnLog.cpp Mon Feb  2 11:08:25 2015
@@ -73,7 +73,6 @@ CMICmnLog::Initialize(void)
     // Mediums set inside because explicitly initing in MIDriverMain.cpp causes compile errors with CAtlFile
     CMICmnLogMediumFile &rFileLog(CMICmnLogMediumFile::Instance());
     bool bOk = RegisterMedium(rFileLog);
-    bOk = bOk && SetEnabled(true);
     if (bOk)
     {
         // Set the Log trace file's header

Modified: lldb/trunk/tools/lldb-mi/MICmnResources.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/lldb-mi/MICmnResources.cpp?rev=227810&r1=227809&r2=227810&view=diff
==============================================================================
--- lldb/trunk/tools/lldb-mi/MICmnResources.cpp (original)
+++ lldb/trunk/tools/lldb-mi/MICmnResources.cpp Mon Feb  2 11:08:25 2015
@@ -82,7 +82,7 @@ const CMICmnResources::SRsrcTextData CMI
     {IDE_MI_APP_ARG_EXECUTEABLE, "--executable\n\tUse the MI Driver in MI mode for the debugging the specified\n\texecutable. Any LLDB "
                                  "command line options are ignored even\n\tif the MI Driver falls through to the LLDB driver. "
                                  "(Depends\n\ton the build configuration see MICmnConfig.h)\n\tNormally specified from the command line."},
-    {IDE_MI_APP_ARG_NO_APP_LOG, "--noLog\n\tUse this argument to tell the MI Driver not to update it's log\n\tfile '%s'."},
+    {IDE_MI_APP_ARG_APP_LOG, "--log\n\tUse this argument to tell the MI Driver to update it's log\n\tfile '%s'."},
     {IDE_MI_APP_ARG_EXAMPLE, "Example MI command:\n\t3-info-gdb-mi-command gdb-set\n\t3^done,command={exists=\"true\"}"},
     {IDE_MI_APP_ARG_EXECUTABLE, "executable (NOT IMPLEMENTED)\n\tThe file path to the executable i.e. '\"C:\\My Dev\\foo.exe\"'."},
     {IDS_STDIN_ERR_INVALID_PROMPT, "Stdin. Invalid prompt description '%s'"},

Modified: lldb/trunk/tools/lldb-mi/MICmnResources.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/lldb-mi/MICmnResources.h?rev=227810&r1=227809&r2=227810&view=diff
==============================================================================
--- lldb/trunk/tools/lldb-mi/MICmnResources.h (original)
+++ lldb/trunk/tools/lldb-mi/MICmnResources.h Mon Feb  2 11:08:25 2015
@@ -89,7 +89,7 @@ enum
     IDE_MI_APP_ARG_VERSION_LONG,
     IDE_MI_APP_ARG_INTERPRETER,
     IDE_MI_APP_ARG_EXECUTEABLE,
-    IDE_MI_APP_ARG_NO_APP_LOG,
+    IDE_MI_APP_ARG_APP_LOG,
     IDE_MI_APP_ARG_EXAMPLE,
     IDE_MI_APP_ARG_EXECUTABLE,
 

Modified: lldb/trunk/tools/lldb-mi/MIDriverMgr.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/lldb-mi/MIDriverMgr.cpp?rev=227810&r1=227809&r2=227810&view=diff
==============================================================================
--- lldb/trunk/tools/lldb-mi/MIDriverMgr.cpp (original)
+++ lldb/trunk/tools/lldb-mi/MIDriverMgr.cpp Mon Feb  2 11:08:25 2015
@@ -125,8 +125,6 @@ CMIDriverMgr::Shutdown(void)
 
     if (vbAppExitOk)
     {
-        // The MI Driver's log updating may have been switched off switch back on to say all is ok.
-        CMICmnLog::Instance().SetEnabled(true);
 #if _DEBUG
         CMICmnStreamStdout::Instance().Write(MIRSRC(IDE_MI_APP_EXIT_OK)); // Both stdout and Log
 #else
@@ -144,8 +142,6 @@ CMIDriverMgr::Shutdown(void)
         }
         else
         {
-            // The MI Driver's log updating may have been switched off switch back on to say there has been problem.
-            rAppLog.SetEnabled(true);
             const CMIUtilString msg(
                 CMIUtilString::Format(MIRSRC(IDE_MI_APP_EXIT_WITH_PROBLEM_NO_LOG), CMICmnLogMediumFile::Instance().GetFileName().c_str()));
             CMICmnStreamStdout::Instance().Write(msg);
@@ -495,7 +491,7 @@ CMIDriverMgr::DriverGetTheDebugger(void)
 //              --interpreter
 //              --version
 //              --versionLong
-//              --noLog
+//              --log
 //              --executable
 //          The above arguments are not handled by any driver object except for --executable.
 //          The options --interpreter and --executable in code act very similar. The
@@ -552,7 +548,7 @@ CMIDriverMgr::ParseArgs(const int argc,
     bool bHaveArgInterpret = false;
     bool bHaveArgVersion = false;
     bool bHaveArgVersionLong = false;
-    bool bHaveArgNoLog = false;
+    bool bHaveArgLog = false;
     bool bHaveArgHelp = false;
 
 // Hardcode the use of the MI driver
@@ -582,9 +578,9 @@ CMIDriverMgr::ParseArgs(const int argc,
             {
                 bHaveArgVersionLong = true;
             }
-            if (0 == strArg.compare("--noLog"))
+            if (0 == strArg.compare("--log"))
             {
-                bHaveArgNoLog = true;
+                bHaveArgLog = true;
             }
             if ((0 == strArg.compare("--help")) || (0 == strArg.compare("-h")))
             {
@@ -593,9 +589,9 @@ CMIDriverMgr::ParseArgs(const int argc,
         }
     }
 
-    if (bHaveArgNoLog)
+    if (bHaveArgLog)
     {
-        CMICmnLog::Instance().SetEnabled(false);
+        CMICmnLog::Instance().SetEnabled(true);
     }
 
     // Todo: Remove this output when MI is finished. It is temporary to persuade Ecllipse plugin to work.
@@ -687,7 +683,7 @@ CMIDriverMgr::GetHelpOnCmdLineArgOptions
         MIRSRC(IDE_MI_APP_ARG_VERSION_LONG),
         MIRSRC(IDE_MI_APP_ARG_INTERPRETER),
         MIRSRC(IDE_MI_APP_ARG_EXECUTEABLE),
-        CMIUtilString::Format(MIRSRC(IDE_MI_APP_ARG_NO_APP_LOG), CMICmnLogMediumFile::Instance().GetFileName().c_str()),
+        CMIUtilString::Format(MIRSRC(IDE_MI_APP_ARG_APP_LOG), CMICmnLogMediumFile::Instance().GetFileName().c_str()),
         MIRSRC(IDE_MI_APP_ARG_EXECUTABLE),
         MIRSRC(IDS_CMD_QUIT_HELP),
         MIRSRC(IDE_MI_APP_ARG_EXAMPLE)};





More information about the lldb-commits mailing list