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)};
_______________________________________________
lldb-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits