diff --git a/sources/pyside6/libpyside/globalreceiverv2.cpp b/sources/pyside6/libpyside/globalreceiverv2.cpp
index c843a40ac..75f66d09b 100644
--- a/sources/pyside6/libpyside/globalreceiverv2.cpp
+++ b/sources/pyside6/libpyside/globalreceiverv2.cpp
@@ -13,6 +13,7 @@
 #include <QtCore/qhashfunctions.h>
 #include <QtCore/QMetaMethod>
 #include <QtCore/QSet>
+#include <QtCore/QDebug>
 
 #include <cstring>
 
@@ -199,11 +200,13 @@ GlobalReceiverV2::~GlobalReceiverV2()
 
 int GlobalReceiverV2::addSlot(const char *signature)
 {
+    qDebug() << __FUNCTION__ << this << signature;
     return m_data->addSlot(signature);
 }
 
 void GlobalReceiverV2::incRef(const QObject *link)
 {
+    qDebug() << __FUNCTION__ << this << link;
     if (link) {
         if (!m_refs.contains(link)) {
             bool connected{};
@@ -224,6 +227,7 @@ void GlobalReceiverV2::incRef(const QObject *link)
 
 void GlobalReceiverV2::decRef(const QObject *link)
 {
+    qDebug() << __FUNCTION__ << this << link;
     if (m_refs.isEmpty())
         return;
 
@@ -241,6 +245,8 @@ void GlobalReceiverV2::decRef(const QObject *link)
         }
     }
 
+    qDebug() << __FUNCTION__  << "deleting" << m_refs.isEmpty();
+
     if (m_refs.isEmpty())
         Py_BEGIN_ALLOW_THREADS
         delete this;
@@ -250,18 +256,23 @@ void GlobalReceiverV2::decRef(const QObject *link)
 
 int GlobalReceiverV2::refCount(const QObject *link) const
 {
+        int r;
     if (link)
-        return m_refs.count(link);
-
-    return m_refs.size();
+        r = m_refs.count(link);
+    else
+        r = m_refs.size();
+    qDebug() << __FUNCTION__ << link << r;
+    return r;
 }
 
 void GlobalReceiverV2::notify()
 {
     const QSet<const QObject *> objSet(m_refs.cbegin(), m_refs.cend());
+    qDebug() << __FUNCTION__ << m_refs.size() << objSet.size();
     Py_BEGIN_ALLOW_THREADS
     for (const QObject *o : objSet) {
         if (o) {
+            qDebug() << __FUNCTION__ << static_cast<const void *>(o);
             QMetaObject::disconnect(o, DESTROY_SIGNAL_ID, this, DESTROY_SLOT_ID);
             QMetaObject::connect(o, DESTROY_SIGNAL_ID, this, DESTROY_SLOT_ID);
         }
@@ -306,12 +317,14 @@ int GlobalReceiverV2::qt_metacall(QMetaObject::Call call, int id, void **args)
         if (m_refs.isEmpty())
             return -1;
         auto obj = *reinterpret_cast<QObject **>(args[1]);
+        qDebug() << __FUNCTION__ << "DESTROY_SLOT_ID"  << obj;
         incRef(); //keep the object live (safe ref)
         m_refs.removeAll(obj); // remove all refs to this object
         decRef(); //remove the safe ref
     } else {
         const bool isShortCuit = std::strchr(slot.methodSignature(), '(') == nullptr;
         Shiboken::AutoDecRef callback(m_data->callback());
+        qDebug() << __FUNCTION__ << "calling callPythonMetaMethod";
         SignalManager::callPythonMetaMethod(slot, args, callback, isShortCuit);
     }
 
diff --git a/sources/pyside6/libpyside/pysidesignal.cpp b/sources/pyside6/libpyside/pysidesignal.cpp
index d7d38d081..1e1f04b63 100644
--- a/sources/pyside6/libpyside/pysidesignal.cpp
+++ b/sources/pyside6/libpyside/pysidesignal.cpp
@@ -530,7 +530,10 @@ static PyObject *signalInstanceConnect(PyObject *self, PyObject *args, PyObject
             PyErr_SetString(PyExc_RuntimeError, "method 'connect' vanished!");
             return nullptr;
         }
+        qDebug() << __FUNCTION__ << *source->d << ">PyObject_CallObject";
         PyObject *result = PyObject_CallObject(pyMethod, tupleArgs);
+        qDebug() << __FUNCTION__ << "<PyObject_CallObject" << result;
+
         if (connection_Check(result))
             return result;
         Py_XDECREF(result);
diff --git a/sources/pyside6/libpyside/qobjectconnect.cpp b/sources/pyside6/libpyside/qobjectconnect.cpp
index 2d97a68d1..848e18d26 100644
--- a/sources/pyside6/libpyside/qobjectconnect.cpp
+++ b/sources/pyside6/libpyside/qobjectconnect.cpp
@@ -10,10 +10,12 @@
 #include "shiboken.h"
 #include "basewrapper.h"
 #include "autodecref.h"
+#include "helper.h"
 
 #include <QtCore/QDebug>
 #include <QtCore/QMetaMethod>
 #include <QtCore/QObject>
+#include <iostream>
 
 static bool isMethodDecorator(PyObject *method, bool is_pymethod, PyObject *self)
 {
@@ -167,6 +169,8 @@ QMetaObject::Connection qobjectConnect(QObject *source, QMetaMethod signal,
 QMetaObject::Connection qobjectConnectCallback(QObject *source, const char *signal,
                                                PyObject *callback, Qt::ConnectionType type)
 {
+    qDebug() << __FUNCTION__ << source << '"' << signal << '"' << callback << type;
+    std::cerr << "  callback=" << Shiboken::debugPyObject(callback) << '\n';
     if (!signal || !PySide::Signal::checkQtSignal(signal))
         return {};
 
@@ -208,6 +212,8 @@ QMetaObject::Connection qobjectConnectCallback(QObject *source, const char *sign
         }
     }
 
+    qDebug() << __FUNCTION__ << "QMetaObject::connect to " << source << signalIndex
+             <<  receiver << type;
     auto connection = QMetaObject::connect(source, signalIndex, receiver.receiver, slotIndex, type);
     if (!connection) {
         if (receiver.usingGlobalReceiver)
diff --git a/sources/pyside6/libpyside/signalmanager.cpp b/sources/pyside6/libpyside/signalmanager.cpp
index 9a9d1c19b..93ca1108d 100644
--- a/sources/pyside6/libpyside/signalmanager.cpp
+++ b/sources/pyside6/libpyside/signalmanager.cpp
@@ -36,6 +36,8 @@
 #define PYSIDE_SIGNAL '2'
 #include "globalreceiverv2.h"
 
+using namespace Qt::StringLiterals;
+
 namespace {
     static PyObject *metaObjectAttr = nullptr;
 
@@ -292,6 +294,8 @@ QObject *SignalManager::globalReceiver(QObject *sender, PyObject *callback)
     auto it = globalReceivers->find(key);
     if (it == globalReceivers->end()) {
         gr = new GlobalReceiverV2(callback, globalReceivers);
+        gr->setObjectName(u"GlobalReceiverV2_"_s + sender->objectName());
+        qDebug() << __FUNCTION__ << "alloc new GlobalReceiverV2" << gr << "for " << sender;
         globalReceivers->insert(key, gr);
         if (sender) {
             gr->incRef(sender); // create a link reference
@@ -313,6 +317,7 @@ int SignalManager::countConnectionsWith(const QObject *object)
         if (it.value()->refCount(object))
             count++;
     }
+    qDebug() << __FUNCTION__ << "for " << object << count;
     return count;
 }
 
@@ -323,6 +328,7 @@ void SignalManager::notifyGlobalReceiver(QObject *receiver)
 
 void SignalManager::releaseGlobalReceiver(const QObject *source, QObject *receiver)
 {
+    qDebug() << __FUNCTION__ << source << receiver;
     auto gr = reinterpret_cast<GlobalReceiverV2 *>(receiver);
     gr->decRef(source);
 }
