|
Prev: where to write temporary files?
Next: OpenService Fails, but GetLastError returns ERROR_SUCCESS
From: Asm23 on 5 May 2008 11:54 Hi, every. I'm using visual c++ 6.0 and debug my apps in DEBUG mode. I have a lot of data to trace out in output window. Which I call "TRACE" in a LOOP, they can plot the data in caculation progress. But I check the output window, I found that some messages lost.( the trace output is no more than 100 chracters each time) These messages woundn't be lost when I STEP into the LOOP or I delete some TRACE statements in the LOOP body. Does anyone have heared this kind of problems? Does it means that I could only use some Logfile class to record my data and avoid using TRACE? Thanks!
From: David Lowndes on 5 May 2008 13:20 >... >These messages woundn't be lost when I STEP into the LOOP or I delete >some TRACE statements in the LOOP body. It's quite common to lose trace messages if you're outputting information quickly - the viewer doesn't get sufficient time to output them. You could try an alternative application for viewing TRACE statements - I have a vague recollection that DBWIN32 (http://grantschenck.tripod.com/dbwinv2.htm) did a better job in this respect than the SysInternals trace viewer (http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx) - but that was a long time ago, so things may be different now. >Does anyone have heared this kind of problems? Does it means that I >could only use some Logfile class to record my data and avoid using >TRACE? If other trace viewers have the same/similar problems, then logging to disk may be your only viable option. Dave
From: Seetharam on 5 May 2008 14:11 I'm not fully sure but replacing TRACE with OutputDebugString() may solve this.. -SM
From: Joseph M. Newcomer on 5 May 2008 15:22 No, the problem is with OutputDebugString. TRACE just uses OutputDebugString to write its output. (for examle, line 509 in crtdbgrpt.c in VS2003) joe On Mon, 5 May 2008 11:11:32 -0700 (PDT), Seetharam <smisro(a)gmail.com> wrote: >I'm not fully sure but replacing TRACE with OutputDebugString() may >solve this.. > >-SM Joseph M. Newcomer [MVP] email: newcomer(a)flounder.com Web: http://www.flounder.com MVP Tips: http://www.flounder.com/mvp_tips.htm
From: asm23 on 5 May 2008 21:38 Joseph M. Newcomer wrote: > No, the problem is with OutputDebugString. TRACE just uses OutputDebugString to write its > output. (for examle, line 509 in crtdbgrpt.c in VS2003) > joe > > On Mon, 5 May 2008 11:11:32 -0700 (PDT), Seetharam <smisro(a)gmail.com> wrote: > >> I'm not fully sure but replacing TRACE with OutputDebugString() may >> solve this.. >> >> -SM > Joseph M. Newcomer [MVP] > email: newcomer(a)flounder.com > Web: http://www.flounder.com > MVP Tips: http://www.flounder.com/mvp_tips.htm Thanks everyone, now, I find a method to solve the problem. simply, I could slow down the TRACE frequency in my APP. Also, some log class to record them, such as: http://www.flounder.com/logctl.htm---a log control.
|
Pages: 1 Prev: where to write temporary files? Next: OpenService Fails, but GetLastError returns ERROR_SUCCESS |