debug .lldbinit with python script?

hi,

i am writing a small python script for .lldbinit, meaning i put something like this in ~/.lldbinit:

command script import mytest

however, lldb silently fails to run “mytest”, and i have no idea what is wrong.

so question is: how can i debug my code? is there any way to turn on logging/debugging option, so lldb can let me know what is happening?

thanks.

Jun

"command script import" takes a path to a python file, not a module name:

(lldb) command script import /tmp/mytest.py

The "script" command then can then use it:
(lldb) script mytest.do_something()

The "command script import" command will check to make sure the directory in which the python module lives is already in python's module search paths or not and it will add the directory to the imports list if needed.

Greg

"command script import" takes a path to a python file, not a module name:

but it also works with module name. give it a try.
and in the case there is a bug, lldb doesnt report anything, but silently
fails.
hence my question is how to debug it.

(lldb) command script import /tmp/mytest.py

The "script" command then can then use it:
(lldb) script mytest.do_something()

The "command script import" command will check to make sure the directory
in which the python module lives is already in python's module search paths
or not and it will add the directory to the imports list if needed.

hmm interesting. does "script" report errors in details if python code is
buggy? i need to try this to see if it solves my issue.

thanks,
Jun

hi,

i am writing a small python script for .lldbinit, meaning i put something

like this in ~/.lldbinit:

       command script import mytest

however, lldb silently fails to run "mytest", and i have no idea what is

wrong.

so question is: how can i debug my code? is there any way to turn on

logging/debugging option, so lldb can let me know what is happening?

Hi Jun,

Yeah I agree our python script error reporting is a bit weak at the moment (or I wasn’t logging the right log channels). What we did when we had to import a complicated script was to first run our script through a lint tool (like pylint) prior to feeding it to lldb. At least that way you’ll get feedback if the script has any blatant issues in it.