As Clang supports that warning now too, lots of occurrences have meanwhile been cleaned up for good (0c29c417ef"Avoid -Werror,-Wcast-function-type-mismatch",1344e6261a"Avoid -Werror,-Wcast-function-type-mismatch",85a2bb9f52"Avoid -Werror,-Wcast-function-type-mismatch", etc.), soce99754e9b"Globally disable -Wcast-function-type new with upcoming GCC 8" in solenv/gbuild/platform/com_GCC_defs.mk should no longer be necessary. One remaining issue I encountered wasdae7304df6"Silence Clang 19 trunk -Werror,-Wcast-function-type-mismatch", where GCC needs a different way for silencing the warnings in pyuno/source/module/ than had been used there for Clang. Change-Id: I5d0404b957d798114051209c31e022a898cf91f1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173623 Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de> Tested-by: Jenkins
Python UNO Bindings
UNO bindings for the Python programming language.
To have much joy debugging Python extensions you need to:
- a) edit
pythonloader.pyin your install settingDEBUG=1at the top - b)
touch pyuno/source/module/pyuno_runtime.cxxandmake debug=trueinpyuno
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.