TraceView'�A Debug View Utility



Click here for a larger image.

Environment: C# .NET Framework 1.0

Introduction

The first source of debug messages is the output debug stream and these messages are usually generated when a process calls OutputDebugString(); this is what ATLTRACE() does. These messages are available through a memory mapped file called DBWIN_BUFFER and access to this is managed through two events called DBWIN_BUFFER_READY and DBWIN_DATA_READY. The data in the memory mapped file is a string prefixed with the process ID of the process that generates the string. The code to access this memory mapped file is in the Platform SDK example.

TraceView is a debug utility that captures debug messages from shared memory DBWIN_BUFFER. It has following useful features:

  1. Trace selected processes—Delect multiple processes or all processes.
  2. Apply custom filters at run time—This can be used for class level tracing. If filter strings are provided, it looks for the first occurence of the filter string into a message and filters out messages.
  3. Log the messages to log file—Efficient way to log messages into a file. It dumps messages only after the number of new messages exceeds ViewCapacity.
  4. Level of tracing—All, Error, Warning, Info and Verbose. It looks for first occurence of these trace level strings into messages to filter out the messages.
  5. Multiple line messages are displayed in separate rows under the same process and time group.
  6. Persistent user settings—It serializes the application settings in .config file in user's path.



Click here for a larger image.



Click here for a larger image.

Downloads

Download TraceView - 15 Kb


Comments

  • Nothing new

    Posted by Legacy on 11/21/2003 12:00am

    Originally posted by: Anders Karlsson

    I dont see why this has been posted here - if the code would be available it would have been helpful.

    www.sysinternals.com has already a debug viewer that I have used for years.

    Reply
  • Sourcecode unknown...

    Posted by Legacy on 11/21/2003 12:00am

    Originally posted by: pizz

    As always when an article does not contain any sourcecode, it will be useless to all other programmers on codeguru.

    Reply
Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • Learn How A Global Entertainment Company Saw a 448% ROI Every business today uses software to manage systems, deliver products, and empower employees to do their jobs. But software inevitably breaks, and when it does, businesses lose money -- in the form of dissatisfied customers, missed SLAs or lost productivity. PagerDuty, an operations performance platform, solves this problem by helping operations engineers and developers more effectively manage and resolve incidents across a company's global operations. …

  • Live Event Date: December 18, 2014 @ 2:00 p.m. ET / 11:00 a.m. PT The Internet of Things (IoT) incorporates physical devices into business processes using predictive analytics. While it relies heavily on existing Internet technologies, it differs by including physical devices, specialized protocols, physical analytics, and a unique partner network. To capture the real business value of IoT, the industry must move beyond customized projects to general patterns and platforms. Check out this upcoming webcast …

Most Popular Programming Stories

More for Developers

RSS Feeds