Click here to Skip to main content
Click here to Skip to main content

Navigate your TRACE outputs

By , 28 Jul 2001
 

Introduction

XTrace replaces the standard MFC TRACE macros. The macros implemented in XTrace.h add the file name and the line number of the trace point to any trace message (using the built-in __FILE__ and __LINE__ macros). A double click on the trace message in the debug window navigates to the according source line.

Usage

  • If you want to use standard MFC TRACEs and XTRACEs side-by-side:
    1. Add xtrace.cpp to your project.
    2. Include xtrace.h in stdafx.h.
    3. Use TRACEx for standard MFC TRACE's and XTRACEx for navigable TRACE's.

  • If you want to navigate all TRACE outputs:
    1. Add xtrace.cpp to your project.
    2. Include xtracestd.h in stdafx.h. This will replace all standard MFC TRACEx macros with XTRACEx macros.

Updates

2000-10-23

  1. Evaluation of vargs in ExtTrace::Trace fixed.
  2. Macros are expanded to a single statement (using brackets and ',' operator).
  3. Newline will be appended to trace message if necessary.
  4. Macros renamed from TRACE to XTRACE (to use simple MFC TRACE's and XTRACE's side-by-side).
  5. Additional header xtracestd.h (include this header, if you want to replace all MFC TRACE macros with the according XTRACE macros).

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

Wolfgang Busch
Software Developer
Germany Germany
Member
No Biography provided

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
Hint: For improved responsiveness ensure Javascript is enabled and choose 'Normal' from the Layout dropdown and hit 'Update'.
You must Sign In to use this message board.
Search this forum  
    Spacing  Noise  Layout  Per page   
GeneralDoesn't work on MSVC++.NETsussAnonymous16 Jul '02 - 21:55 
GeneralDoesn't work on VC5sussCraig23 Oct '00 - 22:15 
GeneralRe: Doesn't work on VC5memberAnonymous10 Nov '01 - 6:26 
GeneralAre you trying to make this too complex...sussPaul Westcott23 Oct '00 - 12:24 
GeneralRe: Are you trying to make this too complex...sussWolfgang Busch23 Oct '00 - 14:15 
GeneralRe: Are you trying to make this too complex...sussPaul Westcott24 Oct '00 - 6:42 
G'day Wolfgang,
 
The comma is a good idea =)
 
And yes, my calls are not thread safe in that there are two, but they are two atomic events, whereas having the static CString, you have the possibility of a crashable event (ie, one thread reallocates the buffer at the same time one is writting to the buffer)
 
I suppose you could use __declspec(thread), which would protect you, but you have to make sure this is not in a dll?? Hmmm, can't remember - I know there are some issues with __declspec(thread)
 
Have fun,
Paul Westcott
GeneralNot allways worksussYury Goltsman22 Oct '00 - 4:55 
GeneralUpdatedsussWolfgang Busch23 Oct '00 - 11:57 
GeneralDoesn't work on VC6, SP4sussCraig18 Oct '00 - 23:35 
GeneralBugfixsussWolfgang Busch19 Oct '00 - 0:24 
GeneralUpdatedsussWolfgang Busch23 Oct '00 - 11:59 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Permalink | Advertise | Privacy | Mobile
Web04 | 2.6.130523.1 | Last Updated 29 Jul 2001
Article Copyright 2000 by Wolfgang Busch
Everything else Copyright © CodeProject, 1999-2013
Terms of Use
Layout: fixed | fluid