4a3706db4f
* Replace PyUnicode_FromUnicode(str, len) with PyUnicode_FromWideChar(str, len) * Replace PyUnicode_AS_UNICODE(PyObject) with PyUnicode_AsWideCharString(PyObject, size) Change-Id: I1d8b46059d72f4de261d99393e1681f1e41eafdf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169625 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> |
||
---|---|---|
.. | ||
demo | ||
doc | ||
inc | ||
qa/pytests | ||
source | ||
zipcore | ||
CustomTarget_python_shell.mk | ||
CustomTarget_pyuno_pythonloader_ini.mk | ||
Executable_python.mk | ||
IwyuFilter_pyuno.yaml | ||
Library_pythonloader.mk | ||
Library_pyuno.mk | ||
Library_pyuno_wrapper.mk | ||
Makefile | ||
Module_pyuno.mk | ||
Package_python_scripts.mk | ||
Package_python_shell.mk | ||
Package_pyuno_pythonloader_ini.mk | ||
PythonTest_pyuno_pytests_insertremovecells.mk | ||
PythonTest_pyuno_pytests_testbz2.mk | ||
PythonTest_pyuno_pytests_testcollections.mk | ||
PythonTest_pyuno_pytests_testofficehelper.mk | ||
PythonTest_pyuno_pytests_testssl.mk | ||
Rdb_pyuno.mk | ||
README.md |
Python UNO Bindings
UNO bindings for the Python programming language.
To have much joy debugging Python extensions you need to:
- a) edit
pythonloader.py
in your install settingDEBUG=1
at the top - b)
touch pyuno/source/module/pyuno_runtime.cxx
andmake debug=true
inpyuno
Then you'll start to see your exceptions on the console instead of them getting lost at the UNO interface.
Python also comes with a gdb script
libpython$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so.1.0-gdb.py
that is copied to instdir
and will be auto-loaded by gdb
;
it provides commands like py-bt
to get a Python-level backtrace,
and py-print
to print Python variables.
Another way to debug Python code is to use pdb
: edit some initialization
function to insert import pdb; pdb.set_trace()
(somewhere so that it is
executed early), then run soffice
from a terminal and a command-line Python
debugger will appear where you can set Python-level breakpoints.