diff --git a/sources/pyside6/libpyside/globalreceiverv2.cpp b/sources/pyside6/libpyside/globalreceiverv2.cpp
index ddbd082e8..d7d24450a 100644
--- a/sources/pyside6/libpyside/globalreceiverv2.cpp
+++ b/sources/pyside6/libpyside/globalreceiverv2.cpp
@@ -212,6 +212,7 @@ GlobalReceiverV2::~GlobalReceiverV2()
 
 int GlobalReceiverV2::addSlot(const char *signature)
 {
+    qDebug() << __FUNCTION__ << signature;
     return m_data->addSlot(signature);
 }
 
@@ -283,6 +284,10 @@ int GlobalReceiverV2::qt_metacall(QMetaObject::Call call, int id, void **args)
         m_receiver->setProperty(senderDynamicProperty, QVariant::fromValue(sender()));
 
     const bool isShortCuit = std::strchr(slot.methodSignature(), '(') == nullptr;
+    qDebug() << "GlobalReceiverV2::qt_metacall"    << slot.methodSignature() << "isShortCuit="<< isShortCuit
+             << "setSenderDynamicProperty=" << setSenderDynamicProperty
+             << "m_receiver=" << m_receiver;
+
     Shiboken::AutoDecRef callback(m_data->callback());
     SignalManager::callPythonMetaMethod(slot, args, callback, isShortCuit);
 
diff --git a/sources/pyside6/libpyside/pysidesignal.cpp b/sources/pyside6/libpyside/pysidesignal.cpp
index 731e8573d..48a5bc2b5 100644
--- a/sources/pyside6/libpyside/pysidesignal.cpp
+++ b/sources/pyside6/libpyside/pysidesignal.cpp
@@ -510,6 +510,8 @@ static PyObject *signalInstanceConnect(PyObject *self, PyObject *args, PyObject
 
     Shiboken::AutoDecRef pyArgs(PyList_New(0));
 
+    qDebug() << __FUNCTION__ << *source->d << PySide::debugPyObject(slot);
+
     bool match = false;
     if (Py_TYPE(slot) == PySideSignalInstance_TypeF()) {
         PySideSignalInstance *sourceWalk = source;
@@ -540,11 +542,12 @@ static PyObject *signalInstanceConnect(PyObject *self, PyObject *args, PyObject
 
         PySideSignalInstance *it = source;
         const auto args = extractFunctionArgumentsFromSlot(slot);
-
+        qDebug() << __FUNCTION__ << "slotWalk: " << args;
         if (args.function != nullptr) {
             qsizetype slotArgs = argCount(args);
             if (args.isMethod)
                 slotArgs -= 1;
+            qDebug() << __FUNCTION__ << "slotWalk: slotArgC" << slotArgs;
 
             // Get signature args
             bool isShortCircuit = false;
@@ -552,6 +555,9 @@ static PyObject *signalInstanceConnect(PyObject *self, PyObject *args, PyObject
                 &isShortCircuit);
             qsizetype signatureArgs = argsSignature.size();
 
+            qDebug() << __FUNCTION__ << "slotWalk: slotArgCount=" << slotArgs << "argsSignature=" << argsSignature << "isShortCircuit="
+                     << isShortCircuit;
+
             // Iterate the possible types of connection for this signal and compare
             // it with slot arguments
             if (signatureArgs != slotArgs) {
@@ -559,6 +565,8 @@ static PyObject *signalInstanceConnect(PyObject *self, PyObject *args, PyObject
                     it = it->d->next;
                     argsSignature = PySide::Signal::getArgsFromSignature(it->d->signature,
                         &isShortCircuit);
+                    qDebug() << __FUNCTION__ << "slotWalk: loop argsSignature=" << argsSignature << "isShortCircuit="
+                             << isShortCircuit;
                     signatureArgs = argsSignature.size();
                     if (signatureArgs == slotArgs) {
                         matchedSlot = true;
@@ -566,6 +574,7 @@ static PyObject *signalInstanceConnect(PyObject *self, PyObject *args, PyObject
                     }
                 }
             }
+            qDebug() << __FUNCTION__ << "matchedSlot: " << matchedSlot;
         }
 
         // Adding references to pyArgs
@@ -1260,6 +1269,7 @@ QString getCallbackSignature(const char *signal, QObject *receiver, PyObject *ca
     qsizetype numArgs = -1;
 
     const auto slotArgs = extractFunctionArgumentsFromSlot(callback);
+    qDebug() << __FUNCTION__ << slotArgs;
     qsizetype useSelf = slotArgs.isMethod ? 1 : 0;
 
     if (slotArgs.function != nullptr) {
diff --git a/sources/pyside6/libpyside/qobjectconnect.cpp b/sources/pyside6/libpyside/qobjectconnect.cpp
index 15b71766c..a412edb89 100644
--- a/sources/pyside6/libpyside/qobjectconnect.cpp
+++ b/sources/pyside6/libpyside/qobjectconnect.cpp
@@ -10,6 +10,8 @@
 #include "shiboken.h"
 #include "basewrapper.h"
 #include "autodecref.h"
+#include <helper.h>
+#include <iostream>
 
 #include <QtCore/QDebug>
 #include <QtCore/QMetaMethod>
@@ -17,6 +19,20 @@
 
 #include <string_view>
 
+std::ostream &operator<<(std::ostream &str, const QObject *o)
+{
+    if (o != nullptr) {
+        str << o->metaObject()->className() << '(' << static_cast<const void*>(o);
+        auto on = o->objectName();
+        if (!on.isEmpty())
+            str << ", \"" << on.toLocal8Bit().constData() << '"';
+        str << ')';
+    } else {
+        str << "QObject(0)";
+    }
+    return str;
+}
+
 static bool isMethodDecorator(PyObject *method, bool is_pymethod, PyObject *self)
 {
     Shiboken::AutoDecRef methodName(PyObject_GetAttr(method, Shiboken::PyMagicName::name()));
@@ -98,6 +114,7 @@ static GetReceiverResult getReceiver(QObject *source, const char *signal,
     bool forceGlobalReceiver = false;
     if (PyMethod_Check(callback)) {
         result.self = PyMethod_GET_SELF(callback);
+        qDebug("getReceiver/PyMethod_Check");
         result.receiver = PySide::convertToQObject(result.self, false);
         forceGlobalReceiver = isMethodDecorator(callback, true, result.self);
 #ifdef PYPY_VERSION
@@ -107,14 +124,17 @@ static GetReceiverResult getReceiver(QObject *source, const char *signal,
         result.receiver = PySide::convertToQObject(result.self, false);
 #endif
     } else if (PyCFunction_Check(callback)) {
+        qDebug("getReceiver/PyCFunction_Check");
         result.self = PyCFunction_GET_SELF(callback);
         result.receiver = PySide::convertToQObject(result.self, false);
     } else if (PySide::isCompiledMethod(callback)) {
+        qDebug("getReceiver/isCompiledMethod");
         result.self = PyObject_GetAttr(callback, Shiboken::PyName::im_self());
         Py_DECREF(result.self);
         result.receiver = PySide::convertToQObject(result.self, false);
         forceGlobalReceiver = isMethodDecorator(callback, false, result.self);
     } else if (PyCallable_Check(callback)) {
+        qDebug("getReceiver/PyCallable_Check");
         // Ok, just a callable object
         result.receiver = nullptr;
         result.self = nullptr;
@@ -181,6 +201,7 @@ QMetaObject::Connection qobjectConnect(QObject *source, const char *signal,
 
     if (!PySide::SignalManager::registerMetaMethod(source, signal + 1, QMetaMethod::Signal))
         return {};
+    qDebug() << __FUNCTION__ << source << signal << receiver << slot << type;
 
     const auto methodType = PySide::Signal::isQtSignal(slot)
                             ? QMetaMethod::Signal : QMetaMethod::Slot;
@@ -199,6 +220,8 @@ QMetaObject::Connection qobjectConnect(QObject *source, QMetaMethod signal,
 QMetaObject::Connection qobjectConnectCallback(QObject *source, const char *signal,
                                                PyObject *callback, Qt::ConnectionType type)
 {
+    std::cerr << __FUNCTION__ << " >" << source << " cb=" << signal
+              << " \"cb=" << Shiboken::debugPyObject(callback) << ' ' << type << '\n';
     if (!signal || !PySide::Signal::checkQtSignal(signal))
         return {};
 
@@ -210,6 +233,8 @@ QMetaObject::Connection qobjectConnectCallback(QObject *source, const char *sign
 
     // Extract receiver from callback
     const GetReceiverResult receiver = getReceiver(source, signal + 1, callback);
+    qDebug() << __FUNCTION__ << receiver;
+
     if (receiver.receiver == nullptr && receiver.self == nullptr)
         return {};
 
@@ -242,6 +267,9 @@ QMetaObject::Connection qobjectConnectCallback(QObject *source, const char *sign
 
     QMetaObject::Connection connection{};
     Py_BEGIN_ALLOW_THREADS // PYSIDE-2367, prevent threading deadlocks with connectNotify()
+    auto rec_mm_sig = receiver.receiver->metaObject()->method(slotIndex).methodSignature();
+    qDebug() << __FUNCTION__ << "connect" << source << signalIndex << receiver.receiver << slotIndex
+        << rec_mm_sig << type;
     connection = QMetaObject::connect(source, signalIndex, receiver.receiver, slotIndex, type);
     Py_END_ALLOW_THREADS
     if (!connection) {
@@ -261,6 +289,8 @@ QMetaObject::Connection qobjectConnectCallback(QObject *source, const char *sign
 
 bool qobjectDisconnectCallback(QObject *source, const char *signal, PyObject *callback)
 {
+    std::cerr << __FUNCTION__ << " >" << source << " cb=" << signal
+              << " cb=" << Shiboken::debugPyObject(callback) << '\n';
     if (!PySide::Signal::checkQtSignal(signal))
         return false;
 
diff --git a/sources/pyside6/libpyside/signalmanager.cpp b/sources/pyside6/libpyside/signalmanager.cpp
index b4e1bb487..af1ec4f2e 100644
--- a/sources/pyside6/libpyside/signalmanager.cpp
+++ b/sources/pyside6/libpyside/signalmanager.cpp
@@ -676,7 +676,7 @@ int SignalManager::registerMetaMethodGetIndex(QObject *source, const char *signa
         }
 
         if (type == QMetaMethod::Slot) {
-            qCWarning(lcPySide).noquote().nospace()
+            qWarning().noquote().nospace()
                 << "Warning: Registering dynamic slot \""
                 << signature << "\" on \"" << source->metaObject()->className()
                 << "\". Consider annotating with " << slotSignature(signature);
