lawrence_danna created this revision. lawrence_danna added reviewers: jasonmolenda, JDevlieghere, jingham. Herald added subscribers: dang, pengfei. lawrence_danna requested review of this revision. Herald added a project: LLDB.
Jim says: lldb has a -Q or --source-quietly option, which supposedly does: --source-quietly Tells the debugger to execute this one-line lldb command before any file has been loaded. That seems like a weird description, since we don't generally use source for one line entries, but anyway, let's try it: > $LLDB_LLVM/clean-mono/build/Debug/bin/lldb -Q "script print('I should be quiet')" a.out -O "script print('I should be before')" -o "script print('I should be after')" (lldb) script print('I should be before') I should be before (lldb) target create "script print('I should be quiet')" error: unable to find executable for 'script print('I should be quiet')' That was weird. The first real -O gets sourced but not quietly, then the argument to the -Q gets treated as the target. > $LLDB_LLVM/clean-mono/build/Debug/bin/lldb -Q a.out -O "script print('I should be before')" -o "script print('I should be after')" (lldb) script print('I should be before') I should be before (lldb) target create "a.out" Current executable set to '/tmp/a.out' (x86_64). (lldb) script print('I should be after') I should be after Well, that's a little better, but the -Q option seems to have done nothing. --- This fixes the description of --source-quietly, as well as causing it to actually suppress echoing while executing the initialization commands. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D112988 Files: lldb/docs/man/lldb.rst lldb/test/Shell/Driver/TestQuiet.test lldb/tools/driver/Driver.cpp lldb/tools/driver/Options.td Index: lldb/tools/driver/Options.td =================================================================== --- lldb/tools/driver/Options.td +++ lldb/tools/driver/Options.td @@ -114,7 +114,7 @@ Group<grp_command>; def source_quietly: F<"source-quietly">, - HelpText<"Tells the debugger to execute this one-line lldb command before any file has been loaded.">, + HelpText<"Tells the debugger not to echo commands while sourcing filles or one-line commands provided on the command line.">, Group<grp_command>; def: Flag<["-"], "Q">, Alias<source_quietly>, Index: lldb/tools/driver/Driver.cpp =================================================================== --- lldb/tools/driver/Driver.cpp +++ lldb/tools/driver/Driver.cpp @@ -627,6 +627,7 @@ options.SetSpawnThread(false); options.SetStopOnError(true); options.SetStopOnCrash(m_option_data.m_batch); + options.SetEchoCommands(!m_option_data.m_source_quietly); SBCommandInterpreterRunResult results = m_debugger.RunCommandInterpreter(options); Index: lldb/test/Shell/Driver/TestQuiet.test =================================================================== --- /dev/null +++ lldb/test/Shell/Driver/TestQuiet.test @@ -0,0 +1,7 @@ +RUN: %lldb -b -Q -o "expr 40 + 2" | FileCheck %s +RUN: %lldb -b -Q -O "expr 40 + 2" | FileCheck %s + +CHECK-NOT: expr +CHECK-NOT: lldb +CHECK-NOT: source +CHECK: 42 \ No newline at end of file Index: lldb/docs/man/lldb.rst =================================================================== --- lldb/docs/man/lldb.rst +++ lldb/docs/man/lldb.rst @@ -111,7 +111,7 @@ .. option:: --source-quietly - Tells the debugger to execute this one-line lldb command before any file has been loaded. + Tells the debugger not to echo commands while sourcing filles or one-line commands provided on the command line. .. option:: --source <file>
Index: lldb/tools/driver/Options.td =================================================================== --- lldb/tools/driver/Options.td +++ lldb/tools/driver/Options.td @@ -114,7 +114,7 @@ Group<grp_command>; def source_quietly: F<"source-quietly">, - HelpText<"Tells the debugger to execute this one-line lldb command before any file has been loaded.">, + HelpText<"Tells the debugger not to echo commands while sourcing filles or one-line commands provided on the command line.">, Group<grp_command>; def: Flag<["-"], "Q">, Alias<source_quietly>, Index: lldb/tools/driver/Driver.cpp =================================================================== --- lldb/tools/driver/Driver.cpp +++ lldb/tools/driver/Driver.cpp @@ -627,6 +627,7 @@ options.SetSpawnThread(false); options.SetStopOnError(true); options.SetStopOnCrash(m_option_data.m_batch); + options.SetEchoCommands(!m_option_data.m_source_quietly); SBCommandInterpreterRunResult results = m_debugger.RunCommandInterpreter(options); Index: lldb/test/Shell/Driver/TestQuiet.test =================================================================== --- /dev/null +++ lldb/test/Shell/Driver/TestQuiet.test @@ -0,0 +1,7 @@ +RUN: %lldb -b -Q -o "expr 40 + 2" | FileCheck %s +RUN: %lldb -b -Q -O "expr 40 + 2" | FileCheck %s + +CHECK-NOT: expr +CHECK-NOT: lldb +CHECK-NOT: source +CHECK: 42 \ No newline at end of file Index: lldb/docs/man/lldb.rst =================================================================== --- lldb/docs/man/lldb.rst +++ lldb/docs/man/lldb.rst @@ -111,7 +111,7 @@ .. option:: --source-quietly - Tells the debugger to execute this one-line lldb command before any file has been loaded. + Tells the debugger not to echo commands while sourcing filles or one-line commands provided on the command line. .. option:: --source <file>
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits