Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: neosapient от Сентябрь 11, 2008, 12:18



Название: Что дают QDTPDEBUG и QDTPDEBUGN ? Как ими пользоваться ?
Отправлено: neosapient от Сентябрь 11, 2008, 12:18
Добрый день.
При отладке программы наткнулся на "функции" вида QDTPDEBUG и QDTPDEBUGN.
Подозреваю, что их используют для отладки кода в QT.
Как подключить вывод информации с этих "функций" на консоль?


Название: Re: Что дают QDTPDEBUG и QDTPDEBUGN ? Как ими пользоваться ?
Отправлено: Пантер от Сентябрь 11, 2008, 12:27
Не совсем понял вопрос, но скорее всего в pro добавить CONFIG+=console и пересобрать проект.


Название: Re: Что дают QDTPDEBUG и QDTPDEBUGN ? Как ими пользоваться ?
Отправлено: neosapient от Сентябрь 11, 2008, 12:41
У меня проект собран с этими установками
Код:
CONFIG += qt console
И консоль видна.

Но к сожалению данные передаваемые в качестве параметра функциям QDTPDEBUG и QDTPDEBUGN на консоль не выводятся.


Название: Re: Что дают QDTPDEBUG и QDTPDEBUGN ? Как ими пользоваться ?
Отправлено: Пантер от Сентябрь 11, 2008, 12:54
А вообще qDebug("bla-bla-bla") выдается на консоль?


Название: Re: Что дают QDTPDEBUG и QDTPDEBUGN ? Как ими пользоваться ?
Отправлено: neosapient от Сентябрь 11, 2008, 13:05
qDebug() работает без проблем

Просто в процессе отладки лазил по сорцам QT и набрел на эти функции. Подумал, что можно их использовать. За советом "как их использовать" обратился на этот форум  ;)


Название: Re: Что дают QDTPDEBUG и QDTPDEBUGN ? Как ими пользоваться ?
Отправлено: Пантер от Сентябрь 11, 2008, 14:21
Что-то в ассистенте ничего не нашел. :(


Название: Re: Что дают QDTPDEBUG и QDTPDEBUGN ? Как ими пользоваться ?
Отправлено: pastor от Сентябрь 14, 2008, 13:10
Просто в процессе отладки лазил по сорцам QT и набрел на эти функции. Подумал, что можно их использовать. За советом "как их использовать" обратился на этот форум  ;)

Эти макросы служат для отладки парсера QDATETIME и используються чисто для внутренних целей и лишь в одном модуле. Программеру эти макросы недоступны:

Код:
#if defined (QDATETIMEPARSER_DEBUG) && !defined(QT_NO_DEBUG_STREAM)
#  define QDTPDEBUG qDebug() << QString("%1:%2").arg(__FILE__).arg(__LINE__)
#  define QDTPDEBUGN qDebug
#else
#  define QDTPDEBUG if (false) qDebug()
#  define QDTPDEBUGN if (false) qDebug
#endif