#c #qt #com #qt-creator #com-server
Вопрос:
У меня есть программа буфера обмена, которая реализует COM-интерфейс(IDataObject). Com — сервер работает правильно, т. е. com-клиент может подключаться к нему и получать данные с него без проблем. Проблема в том, что COM-сервер не может работать в точках останова, когда его вызывает COM-клиент, т. Е. Когда клиент вставляет содержимое из буфера обмена. Является ли это разработанным поведением Qt Creator,т. Е. Вы не можете установить точки останова для отладки com-сервера в Qt Creator?
Комментарии:
1. Конечно, вы можете отладить COM-сервер. Я сделал. Это просто отдельный процесс. Хотя в Windows я бы предпочел отладку с помощью Visual Studio, но абсолютно никаких проблем с Qt Creator как таковым нет. Запустите процесс в контексте любого отладчика или присоедините его к процессу и отладьте. doc.qt.io/qtcreator/creator-debugger-operating-modes.html Также подумайте о операторе Q_ASSERT или assert везде, где вам нравится, в отладочном скомпилированном коде COM-сервера, чтобы вы могли подключить отладчик точно в тот момент, когда это необходимо, например, Q_ASSERT(false).
Ответ №1:
если вы не можете добавить точку останова, вы все равно можете печатать отладочные сообщения
#include<QDebug>
void SomeClass::SomeMethod(const QStringamp; msg)
{
qDebug() << "Message: " << msg;
}