office-gobmx/pyuno
Luboš Luňák 0adc9b615f GBUILD_TRACE, support for finding out where the build time is spent
See instructions in solenv/gbuild/Trace.mk . This generates a file than
can be viewed e.g. in the Chromium tracing view.

Change-Id: I5f90647c58ca729375525b6daed2d4918adc8188
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88754
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2020-02-16 14:49:45 +01:00
..
demo
doc
inc
qa/pytests
source -Werror,-Wnon-c-typedef-for-linkage 2020-02-10 08:03:05 +01:00
zipcore
CustomTarget_python_shell.mk GBUILD_TRACE, support for finding out where the build time is spent 2020-02-16 14:49:45 +01:00
CustomTarget_pyuno_pythonloader_ini.mk GBUILD_TRACE, support for finding out where the build time is spent 2020-02-16 14:49:45 +01:00
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_testcollections.mk
PythonTest_pyuno_pytests_testssl.mk
Rdb_pyuno.mk
README

UNO bindings for the Python programming language.

To have much joy debugging python extensions you need to:
  a) edit pythonloader.py in your install setting DEBUG=1 at the top
  b) touch pyuno/source/module/pyuno_runtime.cxx and 'make debug=true' in pyuno

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.