Использование TRACE и ATLTRACE
От: Хорьков Василий Андреевич Россия  
Дата: 21.12.01 14:00
Оценка:
Задача такая: дублировать сообщения отладчика (поступающие в окно trace) в отдельный файл.
Попробовал перенаправить поток сообщений отладчика с помощью старых функций (_CrtSetReportMode(), _CrtSetReportFile()). В MFC получалось правильно, в консольном приложении тоже, а в ATL сообщения посылаются не в _CrtDbgReport(), а непосредственно в окно отладчика (OutputDebugString() :( ), можно, конечно, переписать исходные тексты ATL (AtlBase.h), но не хочется: поменяю, забуду, потом что-то компелироваться перестанет ...
Вопрос: можно ли перенаправить сообщения ATLTRACE в файл, не переписывая заголовочные файлы ATL? :???:
Re: Использование TRACE и ATLTRACE
От: TSS Россия http://www.sdl.ru
Дата: 21.12.01 14:26
Оценка:
Здравствуйте Хорьков Василий Андреевич, Вы писали:

ХВА>Задача такая: дублировать сообщения отладчика (поступающие в окно trace) в отдельный файл.

ХВА>Попробовал перенаправить поток сообщений отладчика с помощью старых функций (_CrtSetReportMode(), _CrtSetReportFile()). В MFC получалось правильно, в консольном приложении тоже, а в ATL сообщения посылаются не в _CrtDbgReport(), а непосредственно в окно отладчика (OutputDebugString() ), можно, конечно, переписать исходные тексты ATL (AtlBase.h), но не хочется: поменяю, забуду, потом что-то компелироваться перестанет ...
ХВА>Вопрос: можно ли перенаправить сообщения ATLTRACE в файл, не переписывая заголовочные файлы ATL?

Определяй свой #define ATLASSERT и пиши в нем все что заблагорассудиться.
Signed, [TSS] /SDL/
Re: Использование TRACE и ATLTRACE
От: Odi$$ey Россия http://malgarr.blogspot.com/
Дата: 21.12.01 14:57
Оценка:
Здравствуйте Хорьков Василий Андреевич, Вы писали:

ХВА>Задача такая: дублировать сообщения отладчика (поступающие в окно trace) в отдельный файл.

ХВА>Попробовал перенаправить поток сообщений отладчика с помощью старых функций (_CrtSetReportMode(), _CrtSetReportFile()). В MFC получалось правильно, в консольном приложении тоже, а в ATL сообщения посылаются не в _CrtDbgReport(), а непосредственно в окно отладчика (OutputDebugString() ), можно, конечно, переписать исходные тексты ATL (AtlBase.h), но не хочется: поменяю, забуду, потом что-то компелироваться перестанет ...
ХВА>Вопрос: можно ли перенаправить сообщения ATLTRACE в файл, не переписывая заголовочные файлы ATL?

В книжке Коберниченко
Автор(ы): Алексей Коберниченко

У вас никогда не возникало проблем с изменением своей программы и добавлением
в нее новой функциональности? Вам хотелось бы расширять возможности своих
приложений, а не переписывать их периодически? Вы хотите разделить свое
приложение на независимые компоненты? Необходимо ускорить их разработку,
упростить настройку, сделать более динамичными?
были приведены ATLTRACE с выводом в файл. Гдлянь в исходниках к этой книге.

Не много не в тему, но есть такая утилитка DebugView, она в своем окошке выводит TRACE и ATLTRACE при работе DEBUG версии твоей проги, и может сохранять это в файл.
Re[2]: Использование TRACE и ATLTRACE
От: VladD2 Российская Империя www.nemerle.org
Дата: 21.12.01 15:29
Оценка:
Здравствуйте TSS, Вы писали:

TSS>Здравствуйте Хорьков Василий Андреевич, Вы писали:


ХВА>>Задача такая: дублировать сообщения отладчика (поступающие в окно trace) в отдельный файл.

ХВА>>Попробовал перенаправить поток сообщений отладчика с помощью старых функций (_CrtSetReportMode(), _CrtSetReportFile()). В MFC получалось правильно, в консольном приложении тоже, а в ATL сообщения посылаются не в _CrtDbgReport(), а непосредственно в окно отладчика (OutputDebugString() ), можно, конечно, переписать исходные тексты ATL (AtlBase.h), но не хочется: поменяю, забуду, потом что-то компелироваться перестанет ...
ХВА>>Вопрос: можно ли перенаправить сообщения ATLTRACE в файл, не переписывая заголовочные файлы ATL?

TSS>Определяй свой #define ATLASSERT и пиши в нем все что заблагорассудиться.


Небольшое уточнение этот дефайн нужно засунуть в stdafx.h после инклюда AtlBase.h
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.