[lldb] Force override when adding crashlog command
authorMed Ismail Bennani <medismail.bennani@gmail.com>
Thu, 12 Jan 2023 23:29:19 +0000 (15:29 -0800)
committerMed Ismail Bennani <medismail.bennani@gmail.com>
Fri, 13 Jan 2023 03:20:51 +0000 (19:20 -0800)
When using interactive crashlog from an IDE, it can happen that the user
already have the `command script import lldb.macosx.crashlog` command on
their `lldbinit` file.

That leads to showing some message:

```
error: cannot add command: user command exists and force replace not set
error: cannot add command: user command exists and force replace not set
```

This leads to confusion because the crashlog symbolication continues and
succeeds even after these errors.

To address that, the crashlog commands get overridden everytime the
script get re-imported.

rdar://103403943

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

Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com>
lldb/examples/python/crashlog.py

index d9e0370..6a5c560 100755 (executable)
@@ -1344,8 +1344,8 @@ if __name__ == '__main__':
 
 def __lldb_init_module(debugger, internal_dict):
     debugger.HandleCommand(
-        'command script add -c lldb.macosx.crashlog.Symbolicate crashlog')
+        'command script add -o -c lldb.macosx.crashlog.Symbolicate crashlog')
     debugger.HandleCommand(
-        'command script add -f lldb.macosx.crashlog.save_crashlog save_crashlog')
+        'command script add -o -f lldb.macosx.crashlog.save_crashlog save_crashlog')
     print('"crashlog" and "save_crashlog" commands have been installed, use '
           'the "--help" options on these commands for detailed help.')