[Lldb-commits] [PATCH] D78825: [lldb/Driver] Exit with a non-zero exit code in batch mode when stopping because of an error.

Greg Clayton via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Mon Apr 27 23:57:28 PDT 2020


clayborg added a comment.

In D78825#2002598 <https://reviews.llvm.org/D78825#2002598>, @vsk wrote:

> Can we delete an override of SBDebugger::RunCommandInterpreter, or are they all part of the stable API? If we can, it'd be nice to get rid of the one with 6 args.


We can't remove any existing API because it is stable, yes.

See my inline comment and let me know your thoughts.



================
Comment at: lldb/include/lldb/API/SBDebugger.h:300-303
+  void RunCommandInterpreter(bool auto_handle_events, bool spawn_thread,
+                             SBCommandInterpreterRunOptions &options,
+                             int &num_errors, bool &quit_requested,
+                             bool &stopped_for_crash, bool &stopped_for_error);
----------------
I'd vote to add a new function like:
```
SBCommandInterpreterRunResults RunCommandInterpreter(SBCommandInterpreterRunOptions &options);
```
We would need to add "auto_handle_events" and "spawn_thread" to SBCommandInterpreterRunOptions:
```
class LLDB_API SBCommandInterpreterRunOptions {
  friend class SBDebugger;
  friend class SBCommandInterpreter;

public:
  bool GetAutoHandleEvents() const;
  void SetAutoHandleEvents(bool);

  bool GetSpawnThread() const;
  void SetSpawnThread(bool);

```
and then we have an object: SBCommandInterpreterRunResults that we can query for number of errors, quit requested, stopped_for_crash, and stopped_for_error using accessors. This allows us to add new accessors without changing the API.




Repository:
  rLLDB LLDB

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D78825/new/

https://reviews.llvm.org/D78825





More information about the lldb-commits mailing list