diff options
Diffstat (limited to 'sources/pyside6/doc/developer/extras.rst')
-rw-r--r-- | sources/pyside6/doc/developer/extras.rst | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/sources/pyside6/doc/developer/extras.rst b/sources/pyside6/doc/developer/extras.rst index 6b34ea4db..9788b539d 100644 --- a/sources/pyside6/doc/developer/extras.rst +++ b/sources/pyside6/doc/developer/extras.rst @@ -8,6 +8,7 @@ it's currently in a different repository (``qt/qtqa``): `qtqa repository <https://code.qt.io/cgit/qt/qtqa.git>`_. To test the wheels: + - Create a virtual environment and activate it. - Install the dependencies listed on the ``requirements.txt`` file. - Install all the wheels: ``shiboken6``, ``shiboken6-generator``, @@ -22,3 +23,33 @@ Build on the command line ========================= - Consider using ``build_scripts/qp5_tool.py``. + +Build with address sanitizer (Linux) +==================================== + +ASAN needs to be told to not exit on memory leaks and its library +needs to be pre-loaded. Assuming the library is found +at ``/usr/lib/gcc/x86_64-linux-gnu/11``: + +.. code-block:: bash + + export ASAN_OPTIONS=detect_leaks=0 + export LD_PRELOAD=/usr/lib/gcc/x86_64-linux-gnu/11/libasan.so + python setup.py build [...] --sanitize-address + +De-Virtualize the Python Files +============================== + +The Python files in the Shiboken module are completely virtual, i.E. +they are nowhere existent in the file system for security reasons. + +For debugging purposes or to change something, it might be desirable +to move these files into the normal file system, again. + +- Setting the environment variable "SBK_EMBED" once to false unpacks these + files when PySide6 or shiboken6 are imported. The files are written + into "side-packages/shiboken6/files.dir" and are used from then on. + +- Setting the variable to true removes "files.dir". + +- Without the "SBK_EMBED" variable, the embedding status remains sticky. |