<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Visual Studio 2008 Enum Bit Flags Visualization</title><link>http://blogs.msdn.com/vcblog/archive/2008/03/10/visual-studio-2008-enum-bit-flags-visualization.aspx</link><description>In Visual Studio 2008 we introduced a useful, but not very well known, feature in the Native Debugger for visualizing enum bit flags. Consider the following code: enum x { bit_none = 0, &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; bit1 = 1, &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>MSDN Blog Postings  &amp;raquo; Visual Studio 2008 Enum Bit Flags Visualization</title><link>http://blogs.msdn.com/vcblog/archive/2008/03/10/visual-studio-2008-enum-bit-flags-visualization.aspx#8137242</link><pubDate>Mon, 10 Mar 2008 23:13:24 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8137242</guid><dc:creator>MSDN Blog Postings  » Visual Studio 2008 Enum Bit Flags Visualization</dc:creator><description>&lt;P&gt;PingBack from &lt;A href="http://msdnrss.thecoderblogs.com/2008/03/10/visual-studio-2008-enum-bit-flags-visualization/" target=_new rel=nofollow&gt;http://msdnrss.thecoderblogs.com/2008/03/10/visual-studio-2008-enum-bit-flags-visualization/&lt;/A&gt;&lt;/P&gt;</description></item><item><title>re: Visual Studio 2008 Enum Bit Flags Visualization</title><link>http://blogs.msdn.com/vcblog/archive/2008/03/10/visual-studio-2008-enum-bit-flags-visualization.aspx#8140118</link><pubDate>Tue, 11 Mar 2008 02:56:06 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8140118</guid><dc:creator>Bruno Martínez</dc:creator><description>&lt;p&gt;x flags = static_cast&amp;lt;x&amp;gt;( bit1 | bit2 | bit4 );&lt;/p&gt;
&lt;p&gt;I don't think that's legal C++.&lt;/p&gt;
</description></item><item><title>re: Visual Studio 2008 Enum Bit Flags Visualization</title><link>http://blogs.msdn.com/vcblog/archive/2008/03/10/visual-studio-2008-enum-bit-flags-visualization.aspx#8140447</link><pubDate>Tue, 11 Mar 2008 03:20:32 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8140447</guid><dc:creator>Norman Diamond</dc:creator><description>&lt;p&gt;To Bruno Martinez: &amp;nbsp;Why not? &amp;nbsp;It looks to me like 5.2.9 (page 75 first paragraph) addresses exactly that.&lt;/p&gt;
&lt;p&gt;To Vytautas Leonavičius:&lt;/p&gt;
&lt;p&gt;I wish that the default display of values would be hexadecimal for DWORD, WORD, BYTE, pointers, etc., and decimal for UINT, int, long, etc. &amp;nbsp;With enums the debugger would have to guess the intended usage, but in your example you could guess.&lt;/p&gt;
</description></item><item><title>re: Visual Studio 2008 Enum Bit Flags Visualization</title><link>http://blogs.msdn.com/vcblog/archive/2008/03/10/visual-studio-2008-enum-bit-flags-visualization.aspx#8143587</link><pubDate>Tue, 11 Mar 2008 06:34:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8143587</guid><dc:creator>C0</dc:creator><description>&lt;p&gt;Nice.&lt;/p&gt;
&lt;p&gt;I agree that the debugger is the single most used feature of Visual Studio. I could say VC's debugger is the only thing that keep me using MS Windows...&lt;/p&gt;
&lt;p&gt;Speaking of feature request, is it possible to make autoexp using a scripting language or a dll? In other words, make visualization programmable. The autoexp used now is too weak IMO. If the visualization process is programmable, we could add such enum display trick ourself.&lt;/p&gt;
</description></item><item><title>re: Visual Studio 2008 Enum Bit Flags Visualization</title><link>http://blogs.msdn.com/vcblog/archive/2008/03/10/visual-studio-2008-enum-bit-flags-visualization.aspx#8152446</link><pubDate>Tue, 11 Mar 2008 16:36:07 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8152446</guid><dc:creator>Tonci Tomic</dc:creator><description>&lt;p&gt;If you are using template classes, even standard one from stl (vector, map), it is almost impossible to see function name in stack trace.&lt;/p&gt;
&lt;p&gt;Is it possible to collapse template parameters in type of some template ? Thus, instead of:&lt;/p&gt;
&lt;p&gt;std::vector&amp;lt; std::list&amp;lt;int, std::standard_allocator&amp;gt;, ...&amp;gt;::foo&amp;lt;... bla bla&amp;gt;&lt;/p&gt;
&lt;p&gt;we should see only:&lt;/p&gt;
&lt;p&gt;std::vector&amp;lt;&amp;gt;::foo&amp;lt;&amp;gt;&lt;/p&gt;
&lt;p&gt;in stack trace with optional '+' sign near angled brackets expandable on click.&lt;/p&gt;
&lt;p&gt;If it is to hard, I would be thankful for option &amp;quot;hide template parameters in watch windows&amp;quot;, because, most of the times, I don't need that, space consuming, info.&lt;/p&gt;
</description></item><item><title>re: Visual Studio 2008 Enum Bit Flags Visualization</title><link>http://blogs.msdn.com/vcblog/archive/2008/03/10/visual-studio-2008-enum-bit-flags-visualization.aspx#8154173</link><pubDate>Tue, 11 Mar 2008 18:15:55 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8154173</guid><dc:creator>Dave Johansen</dc:creator><description>&lt;p&gt;I would love it if you could finally call methods that overloaded with both a standard and const version from the watch window.&lt;/p&gt;
</description></item><item><title>re: Visual Studio 2008 Enum Bit Flags Visualization</title><link>http://blogs.msdn.com/vcblog/archive/2008/03/10/visual-studio-2008-enum-bit-flags-visualization.aspx#8167052</link><pubDate>Wed, 12 Mar 2008 10:33:05 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8167052</guid><dc:creator>QbProg</dc:creator><description>&lt;p&gt;Please support &amp;quot;operator overloading&amp;quot; in watch window, in particular [] and -&amp;gt; , since these are most important when using Smart Pointers and smart arrays!&lt;/p&gt;
</description></item><item><title>re: Visual Studio 2008 Enum Bit Flags Visualization</title><link>http://blogs.msdn.com/vcblog/archive/2008/03/10/visual-studio-2008-enum-bit-flags-visualization.aspx#8168606</link><pubDate>Wed, 12 Mar 2008 13:42:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8168606</guid><dc:creator>Paulius Maruška</dc:creator><description>&lt;p&gt;Yeah, debugger is very nice in 2008.&lt;/p&gt;
&lt;p&gt;I'm also very pleased to see a Lithuanian developer in Visual C++ team! :)&lt;/p&gt;
&lt;p&gt;Go Vytautas! ;)&lt;/p&gt;
</description></item><item><title>re: Visual Studio 2008 Enum Bit Flags Visualization</title><link>http://blogs.msdn.com/vcblog/archive/2008/03/10/visual-studio-2008-enum-bit-flags-visualization.aspx#8169860</link><pubDate>Wed, 12 Mar 2008 16:42:54 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8169860</guid><dc:creator>jschroedl</dc:creator><description>&lt;p&gt;Nice tip! Thanks V. And interesting style of enum declaration - in all my years, I haven't seen it done that way.&lt;/p&gt;
&lt;p&gt;John&lt;/p&gt;
</description></item><item><title>re: Visual Studio 2008 Enum Bit Flags Visualization</title><link>http://blogs.msdn.com/vcblog/archive/2008/03/10/visual-studio-2008-enum-bit-flags-visualization.aspx#8170677</link><pubDate>Wed, 12 Mar 2008 18:05:39 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8170677</guid><dc:creator>Bruno Martínez</dc:creator><description>&lt;p&gt;You are right about the legality.&lt;/p&gt;
</description></item><item><title>re: Visual Studio 2008 Enum Bit Flags Visualization</title><link>http://blogs.msdn.com/vcblog/archive/2008/03/10/visual-studio-2008-enum-bit-flags-visualization.aspx#8244112</link><pubDate>Sun, 16 Mar 2008 15:10:36 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8244112</guid><dc:creator>Jonathan Wilson</dc:creator><description>&lt;p&gt;I would love it if I could add an expression like this:&lt;/p&gt;
&lt;p&gt;a-&amp;gt;b[i]-&amp;gt;c[j] to the watch window where b and/or c are of type std::vector&lt;/p&gt;
</description></item><item><title>re: Visual Studio 2008 Enum Bit Flags Visualization</title><link>http://blogs.msdn.com/vcblog/archive/2008/03/10/visual-studio-2008-enum-bit-flags-visualization.aspx#8308766</link><pubDate>Tue, 18 Mar 2008 10:42:19 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8308766</guid><dc:creator>Robert Neumann</dc:creator><description>&lt;p&gt;Good Job, Vytautas!&lt;/p&gt;
&lt;p&gt;That's a really nice feature.&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;Robert.&lt;/p&gt;
</description></item><item><title>re: Visual Studio 2008 Enum Bit Flags Visualization</title><link>http://blogs.msdn.com/vcblog/archive/2008/03/10/visual-studio-2008-enum-bit-flags-visualization.aspx#8320189</link><pubDate>Tue, 18 Mar 2008 22:07:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8320189</guid><dc:creator>rolkA</dc:creator><description>&lt;p&gt;I agree with Bruno, thats not legal C++ (actually it IS grammatically legal but this shouldn't be done like this). A combination of enum values have to be stored in the underlying type, int for example, because the result is not an &amp;quot;x&amp;quot; anymore... &lt;/p&gt;
</description></item><item><title>re: Visual Studio 2008 Enum Bit Flags Visualization</title><link>http://blogs.msdn.com/vcblog/archive/2008/03/10/visual-studio-2008-enum-bit-flags-visualization.aspx#8324296</link><pubDate>Wed, 19 Mar 2008 03:42:22 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8324296</guid><dc:creator>Norman Diamond</dc:creator><description>&lt;p&gt;&amp;quot;the result is not an &amp;quot;x&amp;quot; anymore...&amp;quot;&lt;/p&gt;
&lt;p&gt;But the result is still within range. &amp;nbsp;I guess it's necessary to add section 7.2 paragraph number 6 (page 113 third paragraph) to section 5.2.9 paragraph number 7 (page 75 first paragraph).&lt;/p&gt;
</description></item><item><title>re: Visual Studio 2008 Enum Bit Flags Visualization</title><link>http://blogs.msdn.com/vcblog/archive/2008/03/10/visual-studio-2008-enum-bit-flags-visualization.aspx#8327737</link><pubDate>Thu, 20 Mar 2008 22:30:27 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8327737</guid><dc:creator>stof</dc:creator><description>&lt;p&gt;This does not work if (1&amp;lt;&amp;lt;31) is defined in the enum, not even if the underlying type is __int64!? Thats a shame really, because many enums in our code use this value. What gives?&lt;/p&gt;
&lt;p&gt;And in principle, who would care if its legal c++ when the debugger allows for the expression &amp;quot;(x)flags&amp;quot; in the watch window?&lt;/p&gt;
</description></item><item><title>re: Visual Studio 2008 Enum Bit Flags Visualization</title><link>http://blogs.msdn.com/vcblog/archive/2008/03/10/visual-studio-2008-enum-bit-flags-visualization.aspx#8335795</link><pubDate>Tue, 25 Mar 2008 16:29:40 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8335795</guid><dc:creator>A</dc:creator><description>&lt;p&gt;Where are the GDI, ie. bitmap and graphics visualizers?&lt;/p&gt;
&lt;p&gt;You would save yourselves a lot of work with those.&lt;/p&gt;
</description></item><item><title>re: Visual Studio 2008 Enum Bit Flags Visualization</title><link>http://blogs.msdn.com/vcblog/archive/2008/03/10/visual-studio-2008-enum-bit-flags-visualization.aspx#8345794</link><pubDate>Mon, 31 Mar 2008 18:52:45 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8345794</guid><dc:creator>pete</dc:creator><description>&lt;p&gt;The images don't seem to show up in Firefox (2.0.0.13)&lt;/p&gt;
</description></item></channel></rss>