Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > Трассировка


Автор: NiJazz 8.12.2004, 13:35
Скажите, куда макрос TRACE скидывает информацию? Где её читать?
И еще вопрос по теории: что такое трассировка?
Только более простыми словами, чем http://ooad.asf.ru/standarts/uml/spr/trace.asp. smile
Дело в том, что копаюсь в одном приложении, там целый класс-трассировщик описан. Для чего это? Для отладки?

Автор: DENNN 8.12.2004, 14:31
Цитата
Только более простыми словами, чем эти.

Да.....
Я когда прочитал, даже стараться вникнуть в тот текст не стал. smile
Под трассировкой понимают некий дополнительный процесс, который отслеживает и протоколируют к примеру вызвовы подпрограмм или изменения значений перемнных.

Автор: NiJazz 8.12.2004, 15:09
DENNN
Короче говоря, это lig-ировнаие. Да?

Автор: DENNN 8.12.2004, 16:52
как один из вариантов.
Иногда, говоря о трассировке, подразумевают процесс отладки в целом, со всеми отладочными инструментами и финтифлюшками.

Автор: NiJazz 8.12.2004, 17:12
Тогда что делает макрос TRACE? smile

Автор: DENNN 8.12.2004, 17:22
Он печатает переданное ему значение в стандартный поток вывода на консоль. Если приложение MFC, то как напиано в MSDN
Цитата

With 32-bit MFC, the only way to get debug output is via the debugger.

Т.е. в окно дебагера.

Если быть точным, то в VS макросов несколько
TRACE
TRACE0
TRACE1
TRACE2
TRACE3

Работает макрос схоже с работтой функции printf. Там же в MSDN
Код

TRACE( "The value of x is %d\n", x );

TRACE( "x = %d and y = %d\n", x, y );

TRACE( "x = %d and y = %x and z = %f\n", x, y, z );

Автор: NiJazz 8.12.2004, 18:03
Цитата
Он печатает переданное ему значение в стандартный поток вывода на консоль

А как просмотреть эти данные? Вот в этом и весь вопрос.

Если включить режим Release, эти макросы работают?

Автор: A-Sem 8.12.2004, 20:03
smile

Автор: DENNN 8.12.2004, 22:07
Цитата
А как просмотреть эти данные?

В дебагерре внизу есть окно, кукда валяться различные сообщения - среди этой мешанины будут и твои smile

Цитата
Если включить режим Release, эти макросы работают?

На то он и Release, чтоб отладочного кода в нем не было.

Автор: NiJazz 9.12.2004, 09:26
Что-то у меня этот TRACE не хочет работать. Если объявить afx.h - все равно не хочет.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)