LLDB  mainline
Debugger.h
Go to the documentation of this file.
1 //===-- Debugger.h ----------------------------------------------*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #ifndef LLDB_CORE_DEBUGGER_H
10 #define LLDB_CORE_DEBUGGER_H
11 
12 #include <cstdint>
13 
14 #include <memory>
15 #include <optional>
16 #include <vector>
17 
19 #include "lldb/Core/FormatEntity.h"
20 #include "lldb/Core/IOHandler.h"
22 #include "lldb/Core/StreamFile.h"
24 #include "lldb/Host/HostThread.h"
25 #include "lldb/Host/Terminal.h"
27 #include "lldb/Target/Platform.h"
28 #include "lldb/Target/TargetList.h"
31 #include "lldb/Utility/FileSpec.h"
32 #include "lldb/Utility/Status.h"
33 #include "lldb/Utility/UserID.h"
34 #include "lldb/lldb-defines.h"
35 #include "lldb/lldb-enumerations.h"
36 #include "lldb/lldb-forward.h"
39 #include "lldb/lldb-types.h"
40 
41 #include "llvm/ADT/ArrayRef.h"
42 #include "llvm/ADT/StringMap.h"
43 #include "llvm/ADT/StringRef.h"
44 #include "llvm/Support/DynamicLibrary.h"
45 #include "llvm/Support/Threading.h"
46 
47 #include <cassert>
48 #include <cstddef>
49 #include <cstdio>
50 
51 namespace llvm {
52 class raw_ostream;
53 class ThreadPool;
54 }
55 
56 namespace lldb_private {
57 class Address;
58 class CallbackLogHandler;
59 class CommandInterpreter;
60 class LogHandler;
61 class Process;
62 class Stream;
63 class SymbolContext;
64 class Target;
65 
66 namespace repro {
67 class DataRecorder;
68 }
69 
70 /// \class Debugger Debugger.h "lldb/Core/Debugger.h"
71 /// A class to manage flag bits.
72 ///
73 /// Provides a global root objects for the debugger core.
74 
75 class Debugger : public std::enable_shared_from_this<Debugger>,
76  public UserID,
77  public Properties {
78  friend class SourceManager; // For GetSourceFileCache.
79 
80 public:
81  /// Broadcaster event bits definitions.
82  enum {
85  eBroadcastBitError = (1 << 2),
87  };
88 
90 
91  /// Get the public broadcaster for this debugger.
93  const Broadcaster &GetBroadcaster() const { return m_broadcaster; }
94 
95  ~Debugger() override;
96 
97  static lldb::DebuggerSP
98  CreateInstance(lldb::LogOutputCallback log_callback = nullptr,
99  void *baton = nullptr);
100 
101  static lldb::TargetSP FindTargetWithProcessID(lldb::pid_t pid);
102 
103  static lldb::TargetSP FindTargetWithProcess(Process *process);
104 
105  static void Initialize(LoadPluginCallbackType load_plugin_callback);
106 
107  static void Terminate();
108 
109  static void SettingsInitialize();
110 
111  static void SettingsTerminate();
112 
113  static void Destroy(lldb::DebuggerSP &debugger_sp);
114 
115  static lldb::DebuggerSP FindDebuggerWithID(lldb::user_id_t id);
116 
117  static lldb::DebuggerSP
119 
120  static size_t GetNumDebuggers();
121 
122  static lldb::DebuggerSP GetDebuggerAtIndex(size_t index);
123 
124  static bool FormatDisassemblerAddress(const FormatEntity::Entry *format,
125  const SymbolContext *sc,
126  const SymbolContext *prev_sc,
127  const ExecutionContext *exe_ctx,
128  const Address *addr, Stream &s);
129 
130  void Clear();
131 
132  bool GetAsyncExecution();
133 
134  void SetAsyncExecution(bool async);
135 
136  lldb::FileSP GetInputFileSP() { return m_input_file_sp; }
137 
138  lldb::StreamFileSP GetOutputStreamSP() { return m_output_stream_sp; }
139 
140  lldb::StreamFileSP GetErrorStreamSP() { return m_error_stream_sp; }
141 
143 
144  File &GetOutputFile() { return m_output_stream_sp->GetFile(); }
145 
146  File &GetErrorFile() { return m_error_stream_sp->GetFile(); }
147 
149 
151 
152  repro::DataRecorder *GetInputRecorder();
153 
154  Status SetInputString(const char *data);
155 
156  void SetInputFile(lldb::FileSP file);
157 
158  void SetOutputFile(lldb::FileSP file);
159 
160  void SetErrorFile(lldb::FileSP file);
161 
162  void SaveInputTerminalState();
163 
165 
166  lldb::StreamSP GetAsyncOutputStream();
167 
168  lldb::StreamSP GetAsyncErrorStream();
169 
171  assert(m_command_interpreter_up.get());
172  return *m_command_interpreter_up;
173  }
174 
176  GetScriptInterpreter(bool can_create = true,
177  std::optional<lldb::ScriptLanguage> language = {});
178 
179  lldb::ListenerSP GetListener() { return m_listener_sp; }
180 
181  // This returns the Debugger's scratch source manager. It won't be able to
182  // look up files in debug information, but it can look up files by absolute
183  // path and display them to you. To get the target's source manager, call
184  // GetSourceManager on the target instead.
186 
187  lldb::TargetSP GetSelectedTarget() {
189  }
190 
192  /// Get accessor for the target list.
193  ///
194  /// The target list is part of the global debugger object. This the single
195  /// debugger shared instance to control where targets get created and to
196  /// allow for tracking and searching for targets based on certain criteria.
197  ///
198  /// \return
199  /// A global shared target list.
201 
203 
204  void DispatchInputInterrupt();
205 
206  void DispatchInputEndOfFile();
207 
208  // If any of the streams are not set, set them to the in/out/err stream of
209  // the top most input reader to ensure they at least have something
210  void AdoptTopIOHandlerFilesIfInvalid(lldb::FileSP &in,
211  lldb::StreamFileSP &out,
212  lldb::StreamFileSP &err);
213 
214  /// Run the given IO handler and return immediately.
215  void RunIOHandlerAsync(const lldb::IOHandlerSP &reader_sp,
216  bool cancel_top_handler = true);
217 
218  /// Run the given IO handler and block until it's complete.
219  void RunIOHandlerSync(const lldb::IOHandlerSP &reader_sp);
220 
221  /// Remove the given IO handler if it's currently active.
222  bool RemoveIOHandler(const lldb::IOHandlerSP &reader_sp);
223 
224  bool IsTopIOHandler(const lldb::IOHandlerSP &reader_sp);
225 
227  IOHandler::Type second_top_type);
228 
229  void PrintAsync(const char *s, size_t len, bool is_stdout);
230 
232 
233  const char *GetIOHandlerCommandPrefix();
234 
235  const char *GetIOHandlerHelpPrologue();
236 
237  void ClearIOHandlers();
238 
239  bool GetCloseInputOnEOF() const;
240 
241  void SetCloseInputOnEOF(bool b);
242 
243  bool EnableLog(llvm::StringRef channel,
244  llvm::ArrayRef<const char *> categories,
245  llvm::StringRef log_file, uint32_t log_options,
246  size_t buffer_size, LogHandlerKind log_handler_kind,
247  llvm::raw_ostream &error_stream);
248 
249  void SetLoggingCallback(lldb::LogOutputCallback log_callback, void *baton);
250 
251  // Properties Functions
257  };
258 
260  VarSetOperationType op, llvm::StringRef property_path,
261  llvm::StringRef value) override;
262 
263  bool GetAutoConfirm() const;
264 
266 
267  const FormatEntity::Entry *GetFrameFormat() const;
268 
270 
272 
273  const FormatEntity::Entry *GetThreadFormat() const;
274 
276 
278 
279  bool SetScriptLanguage(lldb::ScriptLanguage script_lang);
280 
282 
283  bool SetREPLLanguage(lldb::LanguageType repl_lang);
284 
285  uint32_t GetTerminalWidth() const;
286 
287  bool SetTerminalWidth(uint32_t term_width);
288 
289  llvm::StringRef GetPrompt() const;
290 
291  void SetPrompt(llvm::StringRef p);
292  void SetPrompt(const char *) = delete;
293 
294  bool GetUseExternalEditor() const;
295 
296  bool SetUseExternalEditor(bool use_external_editor_p);
297 
298  bool GetUseColor() const;
299 
300  bool SetUseColor(bool use_color);
301 
302  bool GetShowProgress() const;
303 
304  bool SetShowProgress(bool show_progress);
305 
306  llvm::StringRef GetShowProgressAnsiPrefix() const;
307 
308  llvm::StringRef GetShowProgressAnsiSuffix() const;
309 
310  bool GetUseAutosuggestion() const;
311 
312  llvm::StringRef GetAutosuggestionAnsiPrefix() const;
313 
314  llvm::StringRef GetAutosuggestionAnsiSuffix() const;
315 
316  bool GetUseSourceCache() const;
317 
318  bool SetUseSourceCache(bool use_source_cache);
319 
320  bool GetHighlightSource() const;
321 
323 
324  llvm::StringRef GetStopShowColumnAnsiPrefix() const;
325 
326  llvm::StringRef GetStopShowColumnAnsiSuffix() const;
327 
328  uint32_t GetStopSourceLineCount(bool before) const;
329 
331 
333 
334  llvm::StringRef GetStopShowLineMarkerAnsiPrefix() const;
335 
336  llvm::StringRef GetStopShowLineMarkerAnsiSuffix() const;
337 
338  bool GetAutoOneLineSummaries() const;
339 
340  bool GetAutoIndent() const;
341 
342  bool SetAutoIndent(bool b);
343 
344  bool GetPrintDecls() const;
345 
346  bool SetPrintDecls(bool b);
347 
348  uint32_t GetTabSize() const;
349 
350  bool SetTabSize(uint32_t tab_size);
351 
353 
354  bool GetEscapeNonPrintables() const;
355 
356  bool GetNotifyVoid() const;
357 
359 
360  bool LoadPlugin(const FileSpec &spec, Status &error);
361 
362  void RunIOHandlers();
363 
364  bool IsForwardingEvents();
365 
366  void EnableForwardEvents(const lldb::ListenerSP &listener_sp);
367 
368  void CancelForwardEvents(const lldb::ListenerSP &listener_sp);
369 
371 
372  Status RunREPL(lldb::LanguageType language, const char *repl_options);
373 
374  // This is for use in the command interpreter, when you either want the
375  // selected target, or if no target is present you want to prime the dummy
376  // target with entities that will be copied over to new targets.
377  Target &GetSelectedOrDummyTarget(bool prefer_dummy = false);
379 
380  lldb::BroadcasterManagerSP GetBroadcasterManager() {
382  }
383 
384  /// Shared thread poll. Use only with ThreadPoolTaskGroup.
385  static llvm::ThreadPool &GetThreadPool();
386 
387  /// Report warning events.
388  ///
389  /// Warning events will be delivered to any debuggers that have listeners
390  /// for the eBroadcastBitWarning.
391  ///
392  /// \param[in] message
393  /// The warning message to be reported.
394  ///
395  /// \param [in] debugger_id
396  /// If this optional parameter has a value, it indicates the unique
397  /// debugger identifier that this diagnostic should be delivered to. If
398  /// this optional parameter does not have a value, the diagnostic event
399  /// will be delivered to all debuggers.
400  ///
401  /// \param [in] once
402  /// If a pointer is passed to a std::once_flag, then it will be used to
403  /// ensure the given warning is only broadcast once.
404  static void
406  std::optional<lldb::user_id_t> debugger_id = std::nullopt,
407  std::once_flag *once = nullptr);
408 
409  /// Report error events.
410  ///
411  /// Error events will be delivered to any debuggers that have listeners
412  /// for the eBroadcastBitError.
413  ///
414  /// \param[in] message
415  /// The error message to be reported.
416  ///
417  /// \param [in] debugger_id
418  /// If this optional parameter has a value, it indicates the unique
419  /// debugger identifier that this diagnostic should be delivered to. If
420  /// this optional parameter does not have a value, the diagnostic event
421  /// will be delivered to all debuggers.
422  ///
423  /// \param [in] once
424  /// If a pointer is passed to a std::once_flag, then it will be used to
425  /// ensure the given error is only broadcast once.
426  static void
428  std::optional<lldb::user_id_t> debugger_id = std::nullopt,
429  std::once_flag *once = nullptr);
430 
431  /// Report info events.
432  ///
433  /// Unlike warning and error events, info events are not broadcast but are
434  /// logged for diagnostic purposes.
435  ///
436  /// \param[in] message
437  /// The info message to be reported.
438  ///
439  /// \param [in] debugger_id
440  /// If this optional parameter has a value, it indicates this diagnostic is
441  /// associated with a unique debugger instance.
442  ///
443  /// \param [in] once
444  /// If a pointer is passed to a std::once_flag, then it will be used to
445  /// ensure the given info is only logged once.
446  static void
448  std::optional<lldb::user_id_t> debugger_id = std::nullopt,
449  std::once_flag *once = nullptr);
450 
451  static void ReportSymbolChange(const ModuleSpec &module_spec);
452 
453 protected:
454  friend class CommandInterpreter;
455  friend class REPL;
456  friend class Progress;
457 
458  /// Report progress events.
459  ///
460  /// Progress events will be delivered to any debuggers that have listeners
461  /// for the eBroadcastBitProgress. This function is called by the
462  /// lldb_private::Progress class to deliver the events to any debuggers that
463  /// qualify.
464  ///
465  /// \param [in] progress_id
466  /// The unique integer identifier for the progress to report.
467  ///
468  /// \param[in] message
469  /// The title of the progress dialog to display in the UI.
470  ///
471  /// \param [in] completed
472  /// The amount of work completed. If \a completed is zero, then this event
473  /// is a progress started event. If \a completed is equal to \a total, then
474  /// this event is a progress end event. Otherwise completed indicates the
475  /// current progress compare to the total value.
476  ///
477  /// \param [in] total
478  /// The total amount of work units that need to be completed. If this value
479  /// is UINT64_MAX, then an indeterminate progress indicator should be
480  /// displayed.
481  ///
482  /// \param [in] debugger_id
483  /// If this optional parameter has a value, it indicates the unique
484  /// debugger identifier that this progress should be delivered to. If this
485  /// optional parameter does not have a value, the progress will be
486  /// delivered to all debuggers.
487  static void ReportProgress(uint64_t progress_id, const std::string &message,
488  uint64_t completed, uint64_t total,
489  std::optional<lldb::user_id_t> debugger_id);
490 
493  std::optional<lldb::user_id_t> debugger_id,
494  std::once_flag *once);
495 
496  void PrintProgress(const ProgressEventData &data);
497 
499 
500  void StopEventHandlerThread();
501 
502  void PushIOHandler(const lldb::IOHandlerSP &reader_sp,
503  bool cancel_top_handler = true);
504 
505  bool PopIOHandler(const lldb::IOHandlerSP &reader_sp);
506 
507  bool HasIOHandlerThread();
508 
509  bool StartIOHandlerThread();
510 
511  void StopIOHandlerThread();
512 
513  void JoinIOHandlerThread();
514 
516 
518 
519  void HandleBreakpointEvent(const lldb::EventSP &event_sp);
520 
521  void HandleProcessEvent(const lldb::EventSP &event_sp);
522 
523  void HandleThreadEvent(const lldb::EventSP &event_sp);
524 
525  void HandleProgressEvent(const lldb::EventSP &event_sp);
526 
527  void HandleDiagnosticEvent(const lldb::EventSP &event_sp);
528 
529  // Ensures two threads don't attempt to flush process output in parallel.
531  void FlushProcessOutput(Process &process, bool flush_stdout,
532  bool flush_stderr);
533 
535  return m_source_file_cache;
536  }
537 
538  void InstanceInitialize();
539 
540  // these should never be NULL
541  lldb::FileSP m_input_file_sp;
542  lldb::StreamFileSP m_output_stream_sp;
543  lldb::StreamFileSP m_error_stream_sp;
544 
545  /// Used for shadowing the input file when capturing a reproducer.
546  repro::DataRecorder *m_input_recorder;
547 
548  lldb::BroadcasterManagerSP m_broadcaster_manager_sp; // The debugger acts as a
549  // broadcaster manager of
550  // last resort.
551  // It needs to get constructed before the target_list or any other member
552  // that might want to broadcast through the debugger.
553 
554  TerminalState m_terminal_state;
556 
558  lldb::ListenerSP m_listener_sp;
559  std::unique_ptr<SourceManager> m_source_manager_up; // This is a scratch
560  // source manager that we
561  // return if we have no
562  // targets.
564  // for targets created in
565  // this debugger used this
566  // shared
567  // source file cache.
568  std::unique_ptr<CommandInterpreter> m_command_interpreter_up;
569 
570  std::recursive_mutex m_script_interpreter_mutex;
571  std::array<lldb::ScriptInterpreterSP, lldb::eScriptLanguageUnknown>
573 
575  std::recursive_mutex m_io_handler_synchronous_mutex;
576 
577  std::optional<uint64_t> m_current_event_id;
578 
579  llvm::StringMap<std::weak_ptr<LogHandler>> m_stream_handlers;
580  std::shared_ptr<CallbackLogHandler> m_callback_handler_sp;
582  static LoadPluginCallbackType g_load_plugin_callback;
583  typedef std::vector<llvm::sys::DynamicLibrary> LoadedPluginsList;
587  Broadcaster m_sync_broadcaster; ///< Private debugger synchronization.
588  Broadcaster m_broadcaster; ///< Public Debugger event broadcaster.
589  lldb::ListenerSP m_forward_listener_sp;
590  llvm::once_flag m_clear_once;
591  lldb::TargetSP m_dummy_target_sp;
592 
593  // Events for m_sync_broadcaster
594  enum {
596  };
597 
598 private:
599  // Use Debugger::CreateInstance() to get a shared pointer to a new debugger
600  // object
601  Debugger(lldb::LogOutputCallback m_log_callback, void *baton);
602 
603  Debugger(const Debugger &) = delete;
604  const Debugger &operator=(const Debugger &) = delete;
605 };
606 
607 } // namespace lldb_private
608 
609 #endif // LLDB_CORE_DEBUGGER_H
lldb_private::Debugger::SettingsTerminate
static void SettingsTerminate()
Definition: Debugger.cpp:581
lldb_private::Debugger::GetBroadcaster
Broadcaster & GetBroadcaster()
Get the public broadcaster for this debugger.
Definition: Debugger.h:92
lldb_private::Debugger::CheckTopIOHandlerTypes
bool CheckTopIOHandlerTypes(IOHandler::Type top_type, IOHandler::Type second_top_type)
Definition: Debugger.cpp:1063
lldb_private::ExecutionContext
Definition: ExecutionContext.h:292
lldb_private::Debugger::GetIOHandlerCommandPrefix
const char * GetIOHandlerCommandPrefix()
Definition: Debugger.cpp:1081
lldb_private::Debugger::RunIOHandlerSync
void RunIOHandlerSync(const lldb::IOHandlerSP &reader_sp)
Run the given IO handler and block until it's complete.
Definition: Debugger.cpp:1025
lldb-private-types.h
llvm
Definition: Debugger.h:51
lldb_private::Debugger::SetCloseInputOnEOF
void SetCloseInputOnEOF(bool b)
Definition: Debugger.cpp:877
lldb::ScriptLanguage
ScriptLanguage
Script interpreter types.
Definition: lldb-enumerations.h:217
lldb_private::Debugger::GetDisassemblyLineCount
uint32_t GetDisassemblyLineCount() const
Definition: Debugger.cpp:487
lldb_private::Debugger::GetErrorFile
File & GetErrorFile()
Definition: Debugger.h:146
lldb_private::REPL
Definition: REPL.h:21
lldb_private::Debugger::m_output_stream_sp
lldb::StreamFileSP m_output_stream_sp
Definition: Debugger.h:542
lldb_private::Debugger::GetSelectedExecutionContext
ExecutionContext GetSelectedExecutionContext()
Definition: Debugger.cpp:969
lldb_private::Debugger::AdoptTopIOHandlerFilesIfInvalid
void AdoptTopIOHandlerFilesIfInvalid(lldb::FileSP &in, lldb::StreamFileSP &out, lldb::StreamFileSP &err)
Definition: Debugger.cpp:1098
lldb_private::Debugger::PrintProgress
void PrintProgress(const ProgressEventData &data)
lldb_private::Debugger::SetPropertyValue
Status SetPropertyValue(const ExecutionContext *exe_ctx, VarSetOperationType op, llvm::StringRef property_path, llvm::StringRef value) override
Definition: Debugger.cpp:201
lldb_private::Debugger::GetHighlightSource
bool GetHighlightSource() const
Definition: Debugger.cpp:441
lldb_private::Debugger::GetScriptInterpreter
ScriptInterpreter * GetScriptInterpreter(bool can_create=true, std::optional< lldb::ScriptLanguage > language={})
Definition: Debugger.cpp:1496
IOHandler.h
lldb_private::Debugger::GetAutoConfirm
bool GetAutoConfirm() const
Definition: Debugger.cpp:265
lldb_private::HostThread
Definition: HostThread.h:29
lldb_private::Debugger::GetREPLLanguage
lldb::LanguageType GetREPLLanguage() const
Definition: Debugger.cpp:337
lldb_private::Debugger::DispatchInputEndOfFile
void DispatchInputEndOfFile()
Definition: Debugger.cpp:982
lldb_private::Debugger::operator=
const Debugger & operator=(const Debugger &)=delete
lldb_private::Debugger::GetCommandInterpreter
CommandInterpreter & GetCommandInterpreter()
Definition: Debugger.h:170
lldb_private::Debugger::HandleThreadEvent
void HandleThreadEvent(const lldb::EventSP &event_sp)
Definition: Debugger.cpp:1669
lldb_private::Debugger::RunREPL
Status RunREPL(lldb::LanguageType language, const char *repl_options)
Definition: Debugger.cpp:1983
lldb_private::Debugger::GetDebuggerAtIndex
static lldb::DebuggerSP GetDebuggerAtIndex(size_t index)
Definition: Debugger.cpp:1209
lldb::LogOutputCallback
void(* LogOutputCallback)(const char *, void *baton)
Definition: lldb-types.h:70
lldb_private::Debugger::m_clear_once
llvm::once_flag m_clear_once
Definition: Debugger.h:590
lldb_private::Debugger::SetPrompt
void SetPrompt(llvm::StringRef p)
Definition: Debugger.cpp:304
lldb_private::SourceManager::SourceFileCache
Definition: SourceManager.h:97
lldb_private::Debugger::GetShowProgress
bool GetShowProgress() const
Definition: Debugger.cpp:389
lldb-defines.h
lldb_private::Debugger::GetDummyTarget
Target & GetDummyTarget()
Definition: Debugger.h:378
lldb_private::Debugger::Debugger
Debugger(lldb::LogOutputCallback m_log_callback, void *baton)
Definition: Debugger.cpp:759
lldb_private::UserID
Definition: UserID.h:31
lldb_private::Debugger::SetOutputFile
void SetOutputFile(lldb::FileSP file)
Definition: Debugger.cpp:951
lldb_private::Debugger::GetThreadPool
static llvm::ThreadPool & GetThreadPool()
Shared thread poll. Use only with ThreadPoolTaskGroup.
Definition: Debugger.cpp:2027
lldb_private::Debugger::g_load_plugin_callback
static LoadPluginCallbackType g_load_plugin_callback
Definition: Debugger.h:582
lldb_private::Debugger::GetStopShowColumnAnsiSuffix
llvm::StringRef GetStopShowColumnAnsiSuffix() const
Definition: Debugger.cpp:458
lldb_private::Debugger::GetUseSourceCache
bool GetUseSourceCache() const
Definition: Debugger.cpp:427
lldb_private::Process
Definition: Process.h:338
lldb_private::Debugger::m_callback_handler_sp
std::shared_ptr< CallbackLogHandler > m_callback_handler_sp
Definition: Debugger.h:580
lldb_private::Debugger::EnableLog
bool EnableLog(llvm::StringRef channel, llvm::ArrayRef< const char * > categories, llvm::StringRef log_file, uint32_t log_options, size_t buffer_size, LogHandlerKind log_handler_kind, llvm::raw_ostream &error_stream)
Definition: Debugger.cpp:1445
lldb_private::Debugger::GetPrintDecls
bool GetPrintDecls() const
Definition: Debugger.cpp:513
lldb_private::Debugger::RunIOHandlerAsync
void RunIOHandlerAsync(const lldb::IOHandlerSP &reader_sp, bool cancel_top_handler=true)
Run the given IO handler and return immediately.
Definition: Debugger.cpp:1093
lldb_private::Debugger::StopEventHandlerThread
void StopEventHandlerThread()
Definition: Debugger.cpp:1835
lldb_private::Debugger::StartEventHandlerThread
bool StartEventHandlerThread()
Definition: Debugger.cpp:1795
lldb::LanguageType
LanguageType
Programming language type.
Definition: lldb-enumerations.h:443
lldb_private::Debugger::RunIOHandlers
void RunIOHandlers()
Definition: Debugger.cpp:1000
lldb_private::TargetList
Definition: TargetList.h:21
lldb_private::Debugger::GetOutputStream
StreamFile & GetOutputStream()
Definition: Debugger.h:148
lldb_private::Debugger::StartIOHandlerThread
bool StartIOHandlerThread()
Definition: Debugger.cpp:1945
SourceManager.h
lldb_private::Debugger::CreateInstance
static lldb::DebuggerSP CreateInstance(lldb::LogOutputCallback log_callback=nullptr, void *baton=nullptr)
Definition: Debugger.cpp:671
lldb_private::Debugger::SetAutoIndent
bool SetAutoIndent(bool b)
Definition: Debugger.cpp:508
lldb_private::Debugger::GetOutputStreamSP
lldb::StreamFileSP GetOutputStreamSP()
Definition: Debugger.h:138
lldb_private::Debugger::GetTopIOHandlerControlSequence
ConstString GetTopIOHandlerControlSequence(char ch)
Definition: Debugger.cpp:1077
lldb_private::Stream
Definition: Stream.h:28
lldb_private::Debugger::IsForwardingEvents
bool IsForwardingEvents()
Definition: Debugger.cpp:1685
lldb_private::Debugger::GetScriptLanguage
lldb::ScriptLanguage GetScriptLanguage() const
Definition: Debugger.cpp:325
lldb_private::Debugger::eStopDisassemblyTypeNever
@ eStopDisassemblyTypeNever
Definition: Debugger.h:253
lldb_private::Debugger::m_input_recorder
repro::DataRecorder * m_input_recorder
Used for shadowing the input file when capturing a reproducer.
Definition: Debugger.h:546
lldb_private::Debugger::GetUseExternalEditor
bool GetUseExternalEditor() const
Definition: Debugger.cpp:365
lldb-private-enumerations.h
lldb_private::SymbolContext
Definition: SymbolContext.h:33
lldb_private::Target
Definition: Target.h:469
lldb_private::Debugger::GetListener
lldb::ListenerSP GetListener()
Definition: Debugger.h:179
lldb_private::Debugger::m_io_handler_thread
HostThread m_io_handler_thread
Definition: Debugger.h:586
lldb_private::Debugger::GetStopDisassemblyMaxSize
uint32_t GetStopDisassemblyMaxSize() const
Definition: Debugger.cpp:286
lldb_private::Debugger::GetUseAutosuggestion
bool GetUseAutosuggestion() const
Definition: Debugger.cpp:411
lldb_private::Debugger::m_loaded_plugins
LoadedPluginsList m_loaded_plugins
Definition: Debugger.h:584
lldb_private::Debugger::SetErrorFile
void SetErrorFile(lldb::FileSP file)
Definition: Debugger.cpp:956
lldb_private::Debugger::ClearIOHandlers
void ClearIOHandlers()
Definition: Debugger.cpp:989
Broadcaster.h
lldb_private::Debugger::GetStopShowColumn
lldb::StopShowColumn GetStopShowColumn() const
Definition: Debugger.cpp:447
lldb_private::Debugger::SaveInputTerminalState
void SaveInputTerminalState()
Definition: Debugger.cpp:961
lldb_private::Debugger::RemoveIOHandler
bool RemoveIOHandler(const lldb::IOHandlerSP &reader_sp)
Remove the given IO handler if it's currently active.
Definition: Debugger.cpp:1089
lldb_private::Debugger::ReportSymbolChange
static void ReportSymbolChange(const ModuleSpec &module_spec)
Definition: Debugger.cpp:1417
lldb_private::Properties
Definition: UserSettingsController.h:33
lldb_private::Debugger::GetInputFile
File & GetInputFile()
Definition: Debugger.h:142
lldb_private::Debugger::m_io_handler_synchronous_mutex
std::recursive_mutex m_io_handler_synchronous_mutex
Definition: Debugger.h:575
lldb_private::Debugger::m_listener_sp
lldb::ListenerSP m_listener_sp
Definition: Debugger.h:558
lldb_private::Debugger::eStopDisassemblyTypeAlways
@ eStopDisassemblyTypeAlways
Definition: Debugger.h:256
lldb_private::DiagnosticEventData::Type
Type
Definition: DebuggerEvents.h:54
lldb_private::Debugger::m_broadcaster
Broadcaster m_broadcaster
Public Debugger event broadcaster.
Definition: Debugger.h:588
Platform.h
lldb_private::FileSpec
Definition: FileSpec.h:56
lldb_private::Debugger::m_stream_handlers
llvm::StringMap< std::weak_ptr< LogHandler > > m_stream_handlers
Definition: Debugger.h:579
lldb_private::Debugger::GetDisassemblyFormat
const FormatEntity::Entry * GetDisassemblyFormat() const
Definition: Debugger.cpp:271
lldb_private::Debugger::GetAutosuggestionAnsiSuffix
llvm::StringRef GetAutosuggestionAnsiSuffix() const
Definition: Debugger.cpp:422
error
static llvm::raw_ostream & error(Stream &strm)
Definition: CommandReturnObject.cpp:17
lldb_private::VarSetOperationType
VarSetOperationType
Settable state variable types.
Definition: lldb-private-enumerations.h:83
lldb_private::Debugger::SetInputFile
void SetInputFile(lldb::FileSP file)
Definition: Debugger.cpp:943
lldb_private::Debugger::SetUseSourceCache
bool SetUseSourceCache(bool use_source_cache)
Definition: Debugger.cpp:433
lldb_private::Debugger::SetLoggingCallback
void SetLoggingCallback(lldb::LogOutputCallback log_callback, void *baton)
Definition: Debugger.cpp:1279
lldb_private::Debugger::IsHandlingEvents
bool IsHandlingEvents() const
Definition: Debugger.h:370
lldb_private::Debugger::GetStaticBroadcasterClass
static ConstString GetStaticBroadcasterClass()
Definition: Debugger.cpp:754
TargetList.h
lldb_private::Debugger::m_script_interpreter_mutex
std::recursive_mutex m_script_interpreter_mutex
Definition: Debugger.h:570
HostThread.h
lldb_private::Debugger::ReportInfo
static void ReportInfo(std::string message, std::optional< lldb::user_id_t > debugger_id=std::nullopt, std::once_flag *once=nullptr)
Report info events.
Definition: Debugger.cpp:1410
lldb_private::Debugger::m_source_manager_up
std::unique_ptr< SourceManager > m_source_manager_up
Definition: Debugger.h:559
lldb_private::Debugger::GetAutoIndent
bool GetAutoIndent() const
Definition: Debugger.cpp:503
lldb_private::Debugger::ReportDiagnosticImpl
static void ReportDiagnosticImpl(DiagnosticEventData::Type type, std::string message, std::optional< lldb::user_id_t > debugger_id, std::once_flag *once)
Definition: Debugger.cpp:1358
lldb_private::Debugger::DispatchInputInterrupt
void DispatchInputInterrupt()
Definition: Debugger.cpp:975
lldb_private::Debugger::GetOutputFile
File & GetOutputFile()
Definition: Debugger.h:144
lldb_private::Debugger::SettingsInitialize
static void SettingsInitialize()
Definition: Debugger.cpp:579
lldb_private::Debugger::SetREPLLanguage
bool SetREPLLanguage(lldb::LanguageType repl_lang)
Definition: Debugger.cpp:346
lldb_private::Debugger::GetStopShowColumnAnsiPrefix
llvm::StringRef GetStopShowColumnAnsiPrefix() const
Definition: Debugger.cpp:453
lldb_private::Debugger::GetThreadFormat
const FormatEntity::Entry * GetThreadFormat() const
Definition: Debugger.cpp:315
lldb_private::Debugger::m_instance_name
ConstString m_instance_name
Definition: Debugger.h:581
lldb_private::Debugger::GetAsyncOutputStream
lldb::StreamSP GetAsyncOutputStream()
Definition: Debugger.cpp:1193
lldb_private::ProgressEventData
Definition: DebuggerEvents.h:21
lldb_private::Debugger::GetEscapeNonPrintables
bool GetEscapeNonPrintables() const
Definition: Debugger.cpp:498
lldb_private::Debugger::eStopDisassemblyTypeNoDebugInfo
@ eStopDisassemblyTypeNoDebugInfo
Definition: Debugger.h:254
lldb_private::Debugger::GetAsyncErrorStream
lldb::StreamSP GetAsyncErrorStream()
Definition: Debugger.cpp:1197
lldb_private::Debugger::GetTerminalWidth
uint32_t GetTerminalWidth() const
Definition: Debugger.cpp:351
lldb_private::Debugger::Initialize
static void Initialize(LoadPluginCallbackType load_plugin_callback)
Definition: Debugger.cpp:550
lldb_private::ConstString
Definition: ConstString.h:39
lldb_private::Debugger::GetShowProgressAnsiPrefix
llvm::StringRef GetShowProgressAnsiPrefix() const
Definition: Debugger.cpp:401
lldb-enumerations.h
lldb_private::Debugger::GetAutoOneLineSummaries
bool GetAutoOneLineSummaries() const
Definition: Debugger.cpp:493
lldb_private::Progress
A Progress indicator helper class.
Definition: Progress.h:56
lldb_private::Debugger::GetSourceManager
SourceManager & GetSourceManager()
Definition: Debugger.cpp:1512
lldb_private::Debugger::HandleProcessEvent
void HandleProcessEvent(const lldb::EventSP &event_sp)
Definition: Debugger.cpp:1586
lldb_private::Debugger::GetInputFileSP
lldb::FileSP GetInputFileSP()
Definition: Debugger.h:136
lldb_private::Debugger::SetShowProgress
bool SetShowProgress(bool show_progress)
Definition: Debugger.cpp:395
lldb_private::Debugger::DefaultEventHandler
lldb::thread_result_t DefaultEventHandler()
Definition: Debugger.cpp:1695
lldb_private::CommandInterpreter
Definition: CommandInterpreter.h:215
lldb_private::Debugger::eBroadcastBitError
@ eBroadcastBitError
Definition: Debugger.h:85
lldb_private::Debugger::m_error_stream_sp
lldb::StreamFileSP m_error_stream_sp
Definition: Debugger.h:543
lldb_private::File
Definition: File.h:36
lldb_private::Debugger::eBroadcastBitProgress
@ eBroadcastBitProgress
Definition: Debugger.h:83
lldb_private::Debugger
Definition: Debugger.h:75
lldb_private::Debugger::EnableForwardEvents
void EnableForwardEvents(const lldb::ListenerSP &listener_sp)
Definition: Debugger.cpp:1687
lldb_private::Debugger::PopIOHandler
bool PopIOHandler(const lldb::IOHandlerSP &reader_sp)
Definition: Debugger.cpp:1166
string
string(SUBSTRING ${p} 10 -1 pStripped) if($
Definition: Plugins/CMakeLists.txt:40
lldb_private::PlatformList
Definition: Platform.h:975
lldb::StopShowColumn
StopShowColumn
Definition: lldb-enumerations.h:507
lldb_private::Debugger::m_source_file_cache
SourceManager::SourceFileCache m_source_file_cache
Definition: Debugger.h:563
lldb_private::Debugger::SetScriptLanguage
bool SetScriptLanguage(lldb::ScriptLanguage script_lang)
Definition: Debugger.cpp:331
lldb_private::Debugger::FlushProcessOutput
void FlushProcessOutput(Process &process, bool flush_stdout, bool flush_stderr)
Definition: Debugger.cpp:1566
lldb_private::Debugger::StopDisassemblyType
StopDisassemblyType
Definition: Debugger.h:252
lldb_private::Debugger::m_io_handler_stack
IOHandlerStack m_io_handler_stack
Definition: Debugger.h:574
lldb_private::Debugger::GetInputRecorder
repro::DataRecorder * GetInputRecorder()
Definition: Debugger.cpp:889
UserID.h
lldb_private::Debugger::JoinIOHandlerThread
void JoinIOHandlerThread()
Definition: Debugger.cpp:1967
lldb_private::Debugger::ReportProgress
static void ReportProgress(uint64_t progress_id, const std::string &message, uint64_t completed, uint64_t total, std::optional< lldb::user_id_t > debugger_id)
Report progress events.
Definition: Debugger.cpp:1302
lldb_private::Debugger::GetTargetList
TargetList & GetTargetList()
Get accessor for the target list.
Definition: Debugger.h:200
lldb_private::Debugger::m_broadcaster_manager_sp
lldb::BroadcasterManagerSP m_broadcaster_manager_sp
Definition: Debugger.h:548
lldb-types.h
lldb_private::Debugger::m_terminal_state
TerminalState m_terminal_state
Definition: Debugger.h:554
lldb_private::Debugger::GetIOHandlerHelpPrologue
const char * GetIOHandlerHelpPrologue()
Definition: Debugger.cpp:1085
lldb_private::LogHandlerKind
LogHandlerKind
Definition: lldb-private-enumerations.h:220
StreamFile.h
lldb_private::Debugger::eStopDisassemblyTypeNoSource
@ eStopDisassemblyTypeNoSource
Definition: Debugger.h:255
lldb_private::Debugger::GetDWIMPrintVerbosity
lldb::DWIMPrintVerbosity GetDWIMPrintVerbosity() const
Definition: Debugger.cpp:534
lldb_private::Debugger::GetStopDisassemblyDisplay
StopDisassemblyType GetStopDisassemblyDisplay() const
Definition: Debugger.cpp:480
lldb_private::Debugger::PrintAsync
void PrintAsync(const char *s, size_t len, bool is_stdout)
Definition: Debugger.cpp:1068
lldb_private::Debugger::Clear
void Clear()
Definition: Debugger.cpp:840
lldb_private::ModuleSpec
Definition: ModuleSpec.h:27
lldb_private::Debugger::GetNumDebuggers
static size_t GetNumDebuggers()
Definition: Debugger.cpp:1201
lldb_private::Debugger::IsTopIOHandler
bool IsTopIOHandler(const lldb::IOHandlerSP &reader_sp)
Definition: Debugger.cpp:1059
lldb_private::Debugger::FindDebuggerWithInstanceName
static lldb::DebuggerSP FindDebuggerWithInstanceName(ConstString instance_name)
Definition: Debugger.cpp:711
lldb_private::IOHandlerStack
Definition: IOHandler.h:464
lldb_private::Status
Definition: Status.h:44
lldb_private::Debugger::InstanceInitialize
void InstanceInitialize()
Definition: Debugger.cpp:645
lldb_private::Debugger::m_event_handler_thread
HostThread m_event_handler_thread
Definition: Debugger.h:585
lldb_private::Debugger::SetTerminalWidth
bool SetTerminalWidth(uint32_t term_width)
Definition: Debugger.cpp:357
lldb_private::Debugger::m_sync_broadcaster
Broadcaster m_sync_broadcaster
Private debugger synchronization.
Definition: Debugger.h:587
lldb_private::Debugger::GetNotifyVoid
bool GetNotifyVoid() const
Definition: Debugger.cpp:292
lldb_private::Debugger::m_current_event_id
std::optional< uint64_t > m_current_event_id
Definition: Debugger.h:577
lldb_private::Debugger::PushIOHandler
void PushIOHandler(const lldb::IOHandlerSP &reader_sp, bool cancel_top_handler=true)
Definition: Debugger.cpp:1139
message
message(FATAL_ERROR "invalid libipt include path provided") endif() include_directories($
Definition: Plugins/Trace/intel-pt/CMakeLists.txt:6
uint32_t
lldb_private::Debugger::GetTabSize
uint32_t GetTabSize() const
Definition: Debugger.cpp:523
DebuggerEvents.h
UserSettingsController.h
lldb::thread_result_t
void * thread_result_t
Definition: lldb-types.h:62
lldb_private::Debugger::GetStopShowLineMarkerAnsiSuffix
llvm::StringRef GetStopShowLineMarkerAnsiSuffix() const
Definition: Debugger.cpp:468
lldb_private::Debugger::GetErrorStreamSP
lldb::StreamFileSP GetErrorStreamSP()
Definition: Debugger.h:140
lldb_private::Address
Definition: Address.h:59
lldb_private::Debugger::FindTargetWithProcessID
static lldb::TargetSP FindTargetWithProcessID(lldb::pid_t pid)
Definition: Debugger.cpp:726
lldb_private::Debugger::GetPlatformList
PlatformList & GetPlatformList()
Definition: Debugger.h:202
lldb_private::Debugger::GetCloseInputOnEOF
bool GetCloseInputOnEOF() const
Definition: Debugger.cpp:872
lldb::pid_t
uint64_t pid_t
Definition: lldb-types.h:85
lldb_private::Debugger::LoadPlugin
bool LoadPlugin(const FileSpec &spec, Status &error)
Definition: Debugger.cpp:583
lldb_private::Debugger::GetBroadcaster
const Broadcaster & GetBroadcaster() const
Definition: Debugger.h:93
lldb_private::Debugger::FindDebuggerWithID
static lldb::DebuggerSP FindDebuggerWithID(lldb::user_id_t id)
Definition: Debugger.cpp:1221
lldb_private::FormatEntity::Entry
Definition: FormatEntity.h:40
lldb_private::Debugger::FindTargetWithProcess
static lldb::TargetSP FindTargetWithProcess(Process *process)
Definition: Debugger.cpp:740
lldb_private::Debugger::GetInstanceName
ConstString GetInstanceName()
Definition: Debugger.h:358
FormatEntity.h
lldb_private::Debugger::SetTabSize
bool SetTabSize(uint32_t tab_size)
Definition: Debugger.cpp:529
lldb_private::IOHandler::Type
Type
Definition: IOHandler.h:46
lldb_private::Debugger::~Debugger
~Debugger() override
Definition: Debugger.cpp:838
lldb_private::Debugger::eBroadcastSymbolChange
@ eBroadcastSymbolChange
Definition: Debugger.h:86
lldb_private::ScriptInterpreter
Definition: ScriptInterpreter.h:128
lldb_private::Debugger::m_output_flush_mutex
std::mutex m_output_flush_mutex
Definition: Debugger.h:530
lldb_private::Debugger::HandleBreakpointEvent
void HandleBreakpointEvent(const lldb::EventSP &event_sp)
Definition: Debugger.cpp:1519
lldb_private::Debugger::HandleProgressEvent
void HandleProgressEvent(const lldb::EventSP &event_sp)
Definition: Debugger.cpp:1849
lldb-forward.h
lldb_private::Debugger::GetUseColor
bool GetUseColor() const
Definition: Debugger.cpp:376
Terminal.h
lldb_private::Debugger::LoadedPluginsList
std::vector< llvm::sys::DynamicLibrary > LoadedPluginsList
Definition: Debugger.h:583
lldb::DWIMPrintVerbosity
DWIMPrintVerbosity
Enum to control the verbosity level of dwim-print execution.
Definition: lldb-enumerations.h:1213
lldb_private::Debugger::ReportWarning
static void ReportWarning(std::string message, std::optional< lldb::user_id_t > debugger_id=std::nullopt, std::once_flag *once=nullptr)
Report warning events.
Definition: Debugger.cpp:1396
Status.h
lldb::user_id_t
uint64_t user_id_t
Definition: lldb-types.h:84
lldb_private::Debugger::SetUseExternalEditor
bool SetUseExternalEditor(bool use_external_editor_p)
Definition: Debugger.cpp:371
lldb_private::Debugger::HandleDiagnosticEvent
void HandleDiagnosticEvent(const lldb::EventSP &event_sp)
Definition: Debugger.cpp:1934
lldb_private::Debugger::GetStopShowLineMarkerAnsiPrefix
llvm::StringRef GetStopShowLineMarkerAnsiPrefix() const
Definition: Debugger.cpp:463
lldb_private::HostThread::IsJoinable
bool IsJoinable() const
Definition: HostThread.cpp:30
lldb_private::Debugger::GetShowProgressAnsiSuffix
llvm::StringRef GetShowProgressAnsiSuffix() const
Definition: Debugger.cpp:406
lldb_private
A class that represents a running process on the host machine.
Definition: SBCommandInterpreterRunOptions.h:16
lldb_private::Debugger::GetSelectedTarget
lldb::TargetSP GetSelectedTarget()
Definition: Debugger.h:187
lldb_private::Debugger::GetFrameFormatUnique
const FormatEntity::Entry * GetFrameFormatUnique() const
Definition: Debugger.cpp:281
lldb_private::Debugger::RestoreInputTerminalState
void RestoreInputTerminalState()
Definition: Debugger.cpp:967
lldb_private::Debugger::GetAsyncExecution
bool GetAsyncExecution()
Definition: Debugger.cpp:881
lldb_private::Debugger::GetThreadStopFormat
const FormatEntity::Entry * GetThreadStopFormat() const
Definition: Debugger.cpp:320
lldb_private::Debugger::m_target_list
TargetList m_target_list
Definition: Debugger.h:555
lldb_private::Debugger::Terminate
static void Terminate()
Definition: Debugger.cpp:559
FileSpec.h
lldb_private::Debugger::m_platform_list
PlatformList m_platform_list
Definition: Debugger.h:557
lldb_private::Debugger::m_input_file_sp
lldb::FileSP m_input_file_sp
Definition: Debugger.h:541
lldb_private::Debugger::StopIOHandlerThread
void StopIOHandlerThread()
Definition: Debugger.cpp:1960
lldb_private::Debugger::SetAsyncExecution
void SetAsyncExecution(bool async)
Definition: Debugger.cpp:885
ConstString.h
lldb_private::StreamFile
Definition: StreamFile.h:22
lldb_private::Debugger::FormatDisassemblerAddress
static bool FormatDisassemblerAddress(const FormatEntity::Entry *format, const SymbolContext *sc, const SymbolContext *prev_sc, const ExecutionContext *exe_ctx, const Address *addr, Stream &s)
Definition: Debugger.cpp:1237
lldb_private::Debugger::eBroadcastBitEventThreadIsListening
@ eBroadcastBitEventThreadIsListening
Definition: Debugger.h:595
lldb_private::Debugger::GetStopSourceLineCount
uint32_t GetStopSourceLineCount(bool before) const
Definition: Debugger.cpp:473
lldb_private::TargetList::GetSelectedTarget
lldb::TargetSP GetSelectedTarget()
Definition: TargetList.cpp:537
lldb_private::Debugger::GetBroadcasterManager
lldb::BroadcasterManagerSP GetBroadcasterManager()
Definition: Debugger.h:380
lldb_private::Debugger::SetUseColor
bool SetUseColor(bool use_color)
Definition: Debugger.cpp:382
lldb_private::Debugger::GetSourceFileCache
SourceManager::SourceFileCache & GetSourceFileCache()
Definition: Debugger.h:534
lldb_private::Debugger::IOHandlerThread
lldb::thread_result_t IOHandlerThread()
Definition: Debugger.cpp:1843
lldb_private::Debugger::SetPrintDecls
bool SetPrintDecls(bool b)
Definition: Debugger.cpp:518
lldb_private::Debugger::m_command_interpreter_up
std::unique_ptr< CommandInterpreter > m_command_interpreter_up
Definition: Debugger.h:568
lldb_private::Debugger::GetAutosuggestionAnsiPrefix
llvm::StringRef GetAutosuggestionAnsiPrefix() const
Definition: Debugger.cpp:417
lldb_private::Debugger::m_dummy_target_sp
lldb::TargetSP m_dummy_target_sp
Definition: Debugger.h:591
lldb_private::Debugger::eBroadcastBitWarning
@ eBroadcastBitWarning
Definition: Debugger.h:84
lldb_private::Broadcaster
Definition: Broadcaster.h:242
lldb_private::Debugger::m_forward_listener_sp
lldb::ListenerSP m_forward_listener_sp
Definition: Debugger.h:589
lldb_private::Debugger::GetPrompt
llvm::StringRef GetPrompt() const
Definition: Debugger.cpp:298
lldb_private::Debugger::ReportError
static void ReportError(std::string message, std::optional< lldb::user_id_t > debugger_id=std::nullopt, std::once_flag *once=nullptr)
Report error events.
Definition: Debugger.cpp:1403
lldb_private::Debugger::CancelForwardEvents
void CancelForwardEvents(const lldb::ListenerSP &listener_sp)
Definition: Debugger.cpp:1691
lldb_private::Debugger::GetErrorStream
StreamFile & GetErrorStream()
Definition: Debugger.h:150
lldb_private::Debugger::Destroy
static void Destroy(lldb::DebuggerSP &debugger_sp)
Definition: Debugger.cpp:682
lldb_private::Debugger::HasIOHandlerThread
bool HasIOHandlerThread()
Definition: Debugger.cpp:1943
ExecutionContext.h
lldb_private::Debugger::GetSelectedOrDummyTarget
Target & GetSelectedOrDummyTarget(bool prefer_dummy=false)
Definition: Debugger.cpp:1975
lldb_private::SourceManager
Definition: SourceManager.h:32
lldb_private::Debugger::SetInputString
Status SetInputString(const char *data)
Definition: Debugger.cpp:900
lldb_private::Debugger::m_script_interpreters
std::array< lldb::ScriptInterpreterSP, lldb::eScriptLanguageUnknown > m_script_interpreters
Definition: Debugger.h:572
lldb_private::Debugger::GetFrameFormat
const FormatEntity::Entry * GetFrameFormat() const
Definition: Debugger.cpp:276