Skip to content

ClarionLive Presentation Webinar #252

Carl T. Barnes edited this page Jul 1, 2020 · 7 revisions

DebugView++

Notes for ClarionLive.com Webinar #252 - Friday, Mar 7, 2014

What Is it

DebugView++ is a Windows Desktop program that displays OutputDebugString messages Just as DbgView from SysInternals can do, only better. DebugView++ can also display content that is piped to it.

Where can I get it?

http://debugviewpp.wordpress.com/ - PreCompiled, and some documentation

https://github.com/djeedjay/DebugViewPP - Source Code and some documentation

It is Open Source, I've just been using the pre-compile version at the wordpress site.

Once you have it, how to find it again

 Help.About, has a link to word press site
 From there, click on Source, and again on GitHub
	 SCROLL DOWN to view the Readme.MD

How does it compare to DbgView by SysInternals ?

	• Highlighting
		§ is more powerful
			□ Has Token highlights (single words)
			□ Supports RegEx, WildCard and Simple searches
				® http://www.cplusplus.com/reference/regex/ECMAScript/
		§ Is easier to configure
			□ Dialog, vs. cramped ';' delmited line
		§ Has SAIT - Search as I type
		§ Has Mouse Highlighting
	• Filtering
		§ Is more powerful
		§ Is easier to configure
		§ Can be saved and restored (to named xml files)
		§ Can Filter on Process NAME
		§ KEEPS Filtered Messages - just doesn't display them
			□ So can alter filtering, and see PREVIOUS messages
	• TABBED Views
		§ This is a killer feature, that I had no idea that I wanted
		§ Hidden Feature ... create a Tabbed view by selecting File then New Tab and defining a Filter
		§ Multiple tabs, each with it's:
			□ Own Set of columns - meh
			□ Own Set of Filters & Highlights
		§ Tabs can be LINKED
			□ So can have a "summary" and "detail" views (concepts, no special names here)
			□ when highlight a row, in summary, then display the detail view will be on the same row.
	• Has BookMarks
	• Shows not only OutputDebugString, but can also take pipe'd input
		§ Ex:
			□ C:\SV\Clarion9\Bin> TYPE Clarion90.red | C:\Bin\DebugView++
			□ https://github.com/djeedjay/DebugViewPP   shows an example of a port or service feeding it.

http://www.cplusplus.com/reference/regex/ECMAScript/

but I use 'DBGVIEWCLEAR' in my programs to clear DbgView, I'm gonna miss that. No you wont, that works too.

Problems with DbgView

		§ Wanting to only view messages from a given program
			□ We've added Prefixes to messages to help with this isse
		§ Wanting to exclude messages from a given program
			□ Have to find it's PID (which can change), and filter on that

So what's BAD about it ?

FIXED :: I have found that clicking on the '+' to add a new view will crash the current precompiled version V1.1.0.14 (Jan 20, 2014)

Workaround: just use File.NewView (CTRL+N) instead

How do I use it?##

• Filter Button
	§ Name - Give your Tab a Name
	§ Messages and Process Tabs
	§ Columns
		□ CheckBox - uncheck to disable the row, without having to delete it.
		□ Filter - the text to search for
		□ Match 
			® Simple  - what I use most of the time.
			® WildCard
			® RegEx (see websites for links to this RegEx style)
		□ Type
			® Include
			® Exclude
			® Token
			® Highlight
			® (others) - Stop, Track, Once
		□ Bg - BackGround Color
			® Tap on box to change
		□ Fg - ForeGround Color
			® Tap on box to change
		□ 'x' - Delete the Row
	§ << Click to add a new filter >> -- add a row
	§ Save… & Load…
		□ Store values in an XML File, will default to the ViewName given
• Find:  Type Values here (I've only tested this with Simple searches) 
	§ Next
		□  (can press ENTER while on the Find.Entry to accept Next)
		□ F3 -- (MG Found by Guessing)
	§ Previous
		□ SHIFT+F3  -- (MG Found by Guessing)
	§ Highlighted  Bg: Yellow Fg: Black
• SAIT
	§ SAIT (search-as-I-type) + token highlighting
		§ With focus on the listbox, just type
		§ Observe that what you've typed is highlighted in yellow
	
	
• Views
	○ Before I found a way to DELETE a view via the program
		§ HKCU\Software\Cobalt Fusion\DebugView++
		§ Views\ViewN  -- where N is 0,1,2,3
		§ You can delete an entire view
			□ I've only tested it by deleteing the last one 
			□ I made sure that  Views.Current was set to 0 first.
	○ Then I noticed the 'X' button at the extreme right of the tab bar