ChipView is a High-Level/Low-Level Debugger.  With a High-Level debugger, you are able to debug your code in the same language that you wrote it - so you don't have to learn how your compiler implemented its constructs.

ChipView not only displays your source code, but it also uses the debug information that your C compiler generates about: variable and function scoping and typing, including pointers, structures, enumerated types, bit fields, and arrays.  This means that you not only see where execution stops in your source code, you also see its variables and call stack at the same time.

ChipView will debug your production version code, even with all compiler optimizations enabled.  There is no need to compile a special debug version of your code.

Of course, Low-Level debugging is included (mixed at your option, just like a Source-Level debugger), for those times when you want to see how the compiler has implemented your program, or when you are debugging code that has no debugging information available (such as a library).  Then symbolic disassembly is provided, along with plenty of dump window formats to see your low-level data.

The ChipView series of High-Level/Low-Level debuggers provides the Embedded Software Developer with a familiar (key-compatible with Borland's Turbo Debugger) and powerful interface for project development.

ChipView is available for the following Microcontrollers:

ChipView-x51 for Windows
High-Level debugger for 8051 family of microcontrollers.  Derivatives from Intel, Phillips, Infineon, and Dallas are supported.
 
ChipView-x96 for Windows  
High-Level debugger for Intel 80196/296 family of microcontrollers.