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

  • Today's agile organizations pose operations teams with a tremendous challenge: to deploy new releases to production immediately after development and testing is completed. To ensure that applications are deployed successfully, an automatic and transparent process is required. We refer to this process as Zero Touch Deployment™. This white paper reviews two approaches to Zero Touch Deployment--a script-based solution and a release automation platform. The article discusses how each can solve the key …

  • 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. …

Most Popular Programming Stories

More for Developers

RSS Feeds