aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside6/doc/developer/extras.rst
diff options
context:
space:
mode:
Diffstat (limited to 'sources/pyside6/doc/developer/extras.rst')
-rw-r--r--sources/pyside6/doc/developer/extras.rst31
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.