llvm-project/lldb/include/lldb
Leonard Mosescu 17ffd39ed8 Implement interactive command interruption
The core of this change is the new CommandInterpreter::m_command_state,
which models the state transitions for interactive commands, including
an "interrupted" state transition.

In general, command interruption requires cooperation from the code
executing the command, which needs to poll for interruption requests
through CommandInterpreter::WasInterrupted().

CommandInterpreter::PrintCommandOutput() implements an optionally
interruptible printing of the command output, which for large outputs 
was likely the longest blocking part.
(ex. target modules dump symtab on a complex binary could take 10+ minutes)

Differential Revision: https://reviews.llvm.org/D37923

llvm-svn: 315037
2017-10-05 23:41:28 +00:00
..
API Implement interactive command interruption 2017-10-05 23:41:28 +00:00
Breakpoint Make breakpoint names real entities. 2017-09-14 20:22:49 +00:00
Core Implement interactive command interruption 2017-10-05 23:41:28 +00:00
DataFormatters Move StructuredData from Core to Utility 2017-06-27 10:45:31 +00:00
Expression Remove the DWARFExpression -> Clang ExpressionParser dependency 2017-08-16 11:45:10 +00:00
Host Signal polling is supported with pselect (re-land r313704 without a Windows breakage) 2017-09-20 06:56:46 +00:00
Initialization *** This commit represents a complete reformatting of the LLDB source code 2016-09-06 20:57:50 +00:00
Interpreter Implement interactive command interruption 2017-10-05 23:41:28 +00:00
Symbol Improve FreeBSD kernel debugging 2017-10-02 14:35:07 +00:00
Target [Expression parser] Setting to enable use of ExternalASTMerger 2017-09-28 20:20:25 +00:00
Utility LLDB cmake fix: define LLDB_CONFIGURATION_xxx based on the build type 2017-10-04 20:23:56 +00:00
lldb-defines.h Actually use = delete to mark constructors and operators we want to not exist. Just declaring them as private works, but it can confuse certain tools as it doesn't actually declare intent, and the C++11 way is more expressive anyway, so this is pure win 2016-10-26 18:12:52 +00:00
lldb-enumerations.h Add support for the DWP debug info format 2017-08-25 13:56:14 +00:00
lldb-forward.h Make breakpoint names real entities. 2017-09-14 20:22:49 +00:00
lldb-private-defines.h *** This commit represents a complete reformatting of the LLDB source code 2016-09-06 20:57:50 +00:00
lldb-private-enumerations.h Add pretty-printer for wait(2) statuses and modernize the code handling them 2017-06-19 12:47:50 +00:00
lldb-private-forward.h Remove shared pointer from NativeProcessProtocol 2017-07-18 09:24:48 +00:00
lldb-private-interfaces.h Change the ABI class to have a weak pointer to its Process; 2017-06-29 02:57:03 +00:00
lldb-private-types.h Rename Error -> Status. 2017-05-12 04:51:55 +00:00
lldb-private.h *** This commit represents a complete reformatting of the LLDB source code 2016-09-06 20:57:50 +00:00
lldb-public.h *** This commit represents a complete reformatting of the LLDB source code 2016-09-06 20:57:50 +00:00
lldb-types.h Clean up lldb-types.h 2017-07-18 13:14:01 +00:00
lldb-versioning.h *** This commit represents a complete reformatting of the LLDB source code 2016-09-06 20:57:50 +00:00