[all-commits] [llvm/llvm-project] 1441ff: [lldb] Use __lldb_init_module instead of "if lldb....

Dave Lee via All-commits all-commits at lists.llvm.org
Thu Jan 13 16:38:07 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 1441ffe6a6da90e9c4800914eb0005b1087aa5d2
      https://github.com/llvm/llvm-project/commit/1441ffe6a6da90e9c4800914eb0005b1087aa5d2
  Author: Dave Lee <davelee.com at gmail.com>
  Date:   2022-01-13 (Thu, 13 Jan 2022)

  Changed paths:
    M lldb/docs/use/python-reference.rst
    M lldb/examples/darwin/heap_find/heap.py
    M lldb/examples/python/delta.py
    M lldb/examples/python/diagnose_unwind.py
    M lldb/examples/python/gdb_disassemble.py
    M lldb/examples/python/gdbremote.py
    M lldb/examples/python/jump.py
    M lldb/examples/python/memory.py
    M lldb/examples/python/stacks.py
    M lldb/examples/python/types.py

  Log Message:
  -----------
  [lldb] Use __lldb_init_module instead of "if lldb.debugger" idiom

Update examples and docs to demonstrate using `__lldb_init_module` instead of
the idiom that checks for `lldb.debugger` at the top-level.

```
if __name__ == '__main__':
    ...
elif lldb.debugger:
    ...
```

Is replaced with:

```
if __name__ == '__main__':
    ...

def __lldb_init_module(debugger, internal_dict):
    ...
```

This change is for two reasons. First, it's generally encouraged not to only
use the convenience singletons (`lldb.{debugger,process,target,etc}`)
interactively from the `script` command. Second, there's a bug where
registering a python class as a command (using `command script add -c ...`),
result in the command not being runnable. Note that registering function-backed
commands does not have this bug.

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




More information about the All-commits mailing list