- Change implementations of getSomething to use getSomethingImpl Or where that's impossible, use getSomething_cast to unify this and reduce number of places where we reinterpret_cast. All static methods getting tunnel ids were renamed to getUnoTunnelId, to comply with the convention used in <comphelper/servicehelper.hxx>. TODO (in separate commits): - Revise uses of getSomething to use getFromUnoTunnel Change-Id: Ifde9e214b52e5df678de71fcc32d2199c82e85cf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122100 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
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.