<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Marius Bancila's Blog &#187; Visual Studio</title>
	<atom:link href="http://mariusbancila.ro/blog/category/it/software/visual-studio/feed/" rel="self" type="application/rss+xml" />
	<link>http://mariusbancila.ro/blog</link>
	<description>Sharing my opinions and ideas!</description>
	<lastBuildDate>Fri, 06 Apr 2012 13:45:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Missing 64-bit compiler and tools</title>
		<link>http://mariusbancila.ro/blog/2012/04/04/missing-64bit-compiler-and-tools/</link>
		<comments>http://mariusbancila.ro/blog/2012/04/04/missing-64bit-compiler-and-tools/#comments</comments>
		<pubDate>Wed, 04 Apr 2012 07:47:25 +0000</pubDate>
		<dc:creator>Marius Bancila</dc:creator>
				<category><![CDATA[64bit]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[VisualStudio]]></category>
		<category><![CDATA[VS2005]]></category>
		<category><![CDATA[VS2008]]></category>
		<category><![CDATA[VS2010]]></category>
		<category><![CDATA[x64]]></category>

		<guid isPermaLink="false">http://mariusbancila.ro/blog/?p=1265</guid>
		<description><![CDATA[Let&#8217;s say you have this VC++ project (or maybe more) targeting a 64-bit platform (x64 or IA64). You have the sources, everything is set. You build the solution and your project is skipped. You try again, maybe do a rebuild. The project is still skipped. You check the solution&#8217;s configuration manager, and the project is [...]]]></description>
			<content:encoded><![CDATA[<p>Let&#8217;s say you have this VC++ project (or maybe more) targeting a 64-bit platform (x64 or IA64). You have the sources, everything is set. You build the solution and your project is skipped. You try again, maybe do a rebuild. The project is still skipped. You check the solution&#8217;s configuration manager, and the project is indeed checked for building. What could be wrong?</p>
<p>You open the project properties but the page doesn&#8217;t load. You get this error:<br />
<img alt="" src="/blog/wp-content/uploads/2012/04/vsoperationerror.png" title="The operation could not be completed" class="alignnone" width="360" height="170" /></p>
<p>What&#8217;s happening? </p>
<p>What&#8217;s happening is that you are missing the x64/IA64 compiler and tools. You did not check them when you installed Visual Studio.</p>
<p><img alt="" src="/blog/wp-content/uploads/2012/04/vs2005x64tools.png" title="VS2005 x64 compiler and tools" class="alignnone" width="323" height="573" /><br />
<img alt="" src="/blog/wp-content/uploads/2012/04/vs2008x64tools.png" title="VS2008 x64 compiler and tools" class="alignnone" width="330" height="542" /><br />
<img alt="" src="/blog/wp-content/uploads/2012/04/vs2010x64tools.png" title="VS2010 x64 compiler and tools" class="alignnone" width="325" height="573" /></p>
<p>You have to go back to the setup and add this component. However, you must notice that if you have installed the service pack for Visual Studio (regardless the version and edition) you must remove the service pack first, run the original setup, add the x64/IA64 compiler and tools and then install the service pack back. Otherwise the original setup for Visual Studio will fail. The reason is the service pack installation overrides things, making the original setup unable to run again.</p>
]]></content:encoded>
			<wfw:commentRss>http://mariusbancila.ro/blog/2012/04/04/missing-64bit-compiler-and-tools/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>A Quick Look at Visual Studio 11 Beta</title>
		<link>http://mariusbancila.ro/blog/2012/03/01/a-quick-look-at-visual-studio-11-beta/</link>
		<comments>http://mariusbancila.ro/blog/2012/03/01/a-quick-look-at-visual-studio-11-beta/#comments</comments>
		<pubDate>Thu, 01 Mar 2012 00:22:49 +0000</pubDate>
		<dc:creator>Marius Bancila</dc:creator>
				<category><![CDATA[CTPs & Betas]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[beta]]></category>
		<category><![CDATA[VC++]]></category>
		<category><![CDATA[VisualStudio]]></category>
		<category><![CDATA[VS11]]></category>

		<guid isPermaLink="false">http://mariusbancila.ro/blog/?p=1203</guid>
		<description><![CDATA[Visual Studio 11 Beta was made available today (See Jason Zander&#8217;s announcement). It can be downloaded from here. These are my first impressions after downloading and trying it. The New UI I have already talked about the new Chrome theme. I find it awful, you don&#8217;t know what&#8217;s enabled and what is not. I wish [...]]]></description>
			<content:encoded><![CDATA[<p>Visual Studio 11 Beta was made available today (See Jason Zander&#8217;s <a href="http://blogs.msdn.com/b/jasonz/archive/2012/02/29/welcome-to-the-beta-of-visual-studio-11-and-net-framework-4-5.aspx">announcement</a>). It can be downloaded from <a href="http://www.microsoft.com/visualstudio/11/en-us/downloads">here</a>. These are my first impressions after downloading and trying it.</p>
<p><strong>The New UI</strong><br />
I have already talked about the new <a href="http://mariusbancila.ro/blog/2012/02/26/letter-from-a-concerned-developer/">Chrome theme</a>. I find it awful, you don&#8217;t know what&#8217;s enabled and what is not. I wish they change it, and at least give us the possibility to opt for this theme or the classic colored theme.</p>
<p><strong>Startup time</strong><br />
It takes Visual Studio 2010 about a whole minute to start on my machines, so I didn&#8217;t have great expectations for Visual Studio 11. However, I am impressed with the startup time, which is about 3 seconds. Excellent.</p>
<p><strong>Opening projects created with a previous version</strong><br />
When I opened a solution build with VS2010 it did not prompt me the classic question about upgrading to the new version. That&#8217;s because the project file schemas were not changed between VS2010 and VS11. This is the first time this happens. As for the solution file, it just updated the format version without prompting for anything.</p>
<blockquote><p>
Microsoft Visual Studio Solution File, Format Version 12.00<br />
# Visual Studio 11
</p></blockquote>
<p><strong>Quick launch window</strong><br />
The first thing I do when I install Visual Studio is changing the fonts. But sometimes finding such windows or commands is cumbersome. A new window called Quick launch is now available in the top right corner. You can type for commands and it searches through menus, options, tool windows, etc. displaying a list of results. When you press on a result it executes the command.</p>
<p><img src="/blog/wp-content/uploads/2012/03/vs11-sc03.png" /></p>
<p><strong>Solution Explorer</strong><br />
This is now a hub for functionality previously available in Solution Explorer, Class View, Object Browser, Call Hierarchy, Navigate To, and Find References tool windows.</p>
<p><img src="/blog/wp-content/uploads/2012/03/vs11-sc04.png" alt="" />&nbsp;&nbsp;<img src="/blog/wp-content/uploads/2012/03/vs11-sc05.png" alt="" /></p>
<p>You can search in the solution explorer, view the call graph, hierarchy types etc. As you do this it creates new views kept in a stack. It is possible to navigate between these views with two buttons, Back and Forward that are available in the left side of the Solution Explorer toolbar.</p>
<p><img src="/blog/wp-content/uploads/2012/03/vs11-sc06.png" /></p>
<p>The other buttons are:</p>
<ul>
<li><strong>Home</strong>: brings back to the home view of the solution explorer</li>
<li><strong>Collapse all</strong>: collapses all the items in the Solution explorer three view</li>
<li><strong>Sync with Active Document</strong></li>
<li><strong>Preview selected items</strong>: when this is enabled, as you select files in the tree they are displayed in a special document window, docked on the left of the documents bar. This is excellent because it helps viewing the file (or a method in a file) immediately, yet without opening lots of files (since they are all displayed, one at a time, in the same document window).</li>
<li><strong>Properties</strong>: opens the properties window for the current item</li>
<li><strong>Show all files</strong>: as in previous versions</li>
<li><strong>View class diagram</strong>: shows the class diagram (or creates a new one if one does not exist) for the current item</li>
<li><strong>Create a new window containing a copy of the content of this window</strong>: this duplicates the solution explorer window, just in case you want multiple views</li>
</ul>
<p>If you want to quickly find something in the solution explorer, you can use the search control. As you type, the content is filtered to show only the elements that contained the type text. This includes source files, references, images and everything else in the tree.<br />
<img src="/blog/wp-content/uploads/2012/03/vs11-sc10.png" alt="" /></p>
<p><strong>Search and Replace</strong><br />
There is a new quick window for search and replace. This window is displayed in the top-right corner of the active document window. This window is specific for each document; when you switch to another document, it closes.<br />
<img src="/blog/wp-content/uploads/2012/03/vs11-sc14.png" alt="" /><br />
<img src="/blog/wp-content/uploads/2012/03/vs11-sc15.png" alt="" /></p>
<p>It is possible though to open the classic window, which looks like this:<br />
<img src="/blog/wp-content/uploads/2012/03/vs11-sc07.png" alt="" /></p>
<p><strong>Symbol selection</strong><br />
A nice IntelliSense feature is highlighting in the entire document the symbol under the cursors selection. This helps a lot figuring where else in the code the symbol is used. And also helps when you have variables with the same name in different scopes, because it only highlights the symbols that are visible in the scope of the block where the cursor is.<br />
<img src="/blog/wp-content/uploads/2012/03/vs11-sc09.png" alt="" /></p>
<p><strong>References Window</strong><br />
The window for adding references has also been redesign. You can see a list of the available components that can be referred. As you hover the mouse over them a check box is displayed on the left, so you can check that component for being added.<br />
<img src="/blog/wp-content/uploads/2012/03/vs11-sc11.png" alt="" /></p>
<p><strong>NuGet Package Manager</strong><br />
For .NET projects a NuGet package manager is available. You can open it from context menu for the solution or the project.<br />
<img src="/blog/wp-content/uploads/2012/03/vs11-sc12.png" alt="" /></p>
<p>It opens a dialog where you can search for packages, install, update or remove.<br />
<img src="/blog/wp-content/uploads/2012/03/vs11-sc13.png" alt="" /></p>
<p><strong>XML Doc comments for VC++</strong><br />
A great feature that was finally added for VC++ is XML doc comments. You can add them to C++ types and methods and generate XML doc files. For generating the output file the <strong>/doc</strong> switch must be set.<br />
<img src="/blog/wp-content/uploads/2012/03/vs11-sc16.png" alt="" /></p>
<p>For this sample</p>
<pre name="code" class="cpp">
///&lt;summary>
///This is a dummy type.
///&lt;/summary>
class foo
{
public:
	///&lt;summary>This is a stub method.&lt;/summary>
	///&lt;param name="a">This is a dummy parameter.&lt;/param>
	///&lt;returns>This method returns a random integer.&lt;/returns>
	int bar(int a)
	{
	}
};
</pre>
<p>The following output file was generated:</p>
<pre class="xml" name="code">
&lt;?xml version="1.0"?&gt;
&lt;doc&gt;
  &lt;assembly&gt;"cpp2011demo"&lt;/assembly&gt;
    &lt;members&gt;
      &lt;member name="M:foo.bar(System.Int32)"&gt;
        &lt;summary&gt;This is a stub method.&lt;/summary&gt;
        &lt;param name="a"&gt;This is a dummy parameter.&lt;/param&gt;
        &lt;returns&gt;This method returns a random integer.&lt;/returns&gt;
      &lt;/member&gt;
     &lt;member name="T:foo"&gt;
       &lt;summary&gt;This is a dummy type.&lt;/summary&gt;
     &lt;/member&gt;
  &lt;/members&gt;
&lt;/doc&gt;
</pre>
<p>The gotcha is that so far it does not work in the automatic way as for C# or VB.NET. When you type /// it does not automatically generate the stubs, you have to add everything manually.</p>
<p>You can use these files to generate MSDN-style documentation using for instance the <a href="http://sandcastle.codeplex.com/">Sandcastle</a> compiler.</p>
<p><strong>Additional readings</strong></p>
<ul>
<li><a href="http://blogs.msdn.com/b/visualstudio/archive/2012/02/23/introducing-the-new-developer-experience.aspx">Introducing the New Developer Experience</a></li>
<li><a href="http://blogs.msdn.com/b/visualstudio/archive/2012/02/24/introducing-the-new-developer-experience-part2.aspx">Introducing the New Developer Experience, Part #2</a></li>
<li><a href="http://blogs.msdn.com/b/visualstudio/archive/2012/02/29/visual-studio-11-beta-available-now.aspx">Visual Studio 11 Beta Available Now!</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://mariusbancila.ro/blog/2012/03/01/a-quick-look-at-visual-studio-11-beta/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Letter from a concerned developer</title>
		<link>http://mariusbancila.ro/blog/2012/02/26/letter-from-a-concerned-developer/</link>
		<comments>http://mariusbancila.ro/blog/2012/02/26/letter-from-a-concerned-developer/#comments</comments>
		<pubDate>Sun, 26 Feb 2012 18:03:47 +0000</pubDate>
		<dc:creator>Marius Bancila</dc:creator>
				<category><![CDATA[CTPs & Betas]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[beta]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[UI]]></category>
		<category><![CDATA[VisualStudio]]></category>
		<category><![CDATA[VS11]]></category>

		<guid isPermaLink="false">http://mariusbancila.ro/blog/?p=1194</guid>
		<description><![CDATA[Dear Microsoft, I have recently read the two blog posts about the new &#8220;developer experience&#8221; with Visual Studio 11 (part 1 and part 2). I don&#8217;t have the IDE yet (since the beta will be made available on February 29), but from the blog posts I see that you once again changed the look and [...]]]></description>
			<content:encoded><![CDATA[<p>Dear Microsoft,</p>
<p>I have recently read the two blog posts about the new &#8220;developer experience&#8221; with Visual Studio 11 (<a href="http://blogs.msdn.com/b/visualstudio/archive/2012/02/23/introducing-the-new-developer-experience.aspx" target="_blank">part 1</a> and <a href="http://blogs.msdn.com/b/visualstudio/archive/2012/02/24/introducing-the-new-developer-experience-part2.aspx" target="_blank">part 2</a>). I don&#8217;t have the IDE yet (since the beta will be made available on February 29), but from the blog posts I see that you once again changed the look and feel. Why do you have to do this all the time? Can&#8217;t you sell a new version without redesigning the UI? We don&#8217;t get used well with a version and you change the game again. And like it wasn&#8217;t bad enough to do such a big changed, you decided to go with a chrome theme. This is what I call &#8220;Windows disabled&#8221;; you can&#8217;t get a good feeling of what is enabled and what is not. Everything is in tones of gray and confusing.</p>
<p><a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-92-metablogapi/2248.dev11lightcolourtheme_5F00_0BC702C8.png"><img title="Visual Studio 11 with Chrome theme" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-92-metablogapi/2248.dev11lightcolourtheme_5F00_0BC702C8.png" alt="" height="400" /></a></p>
<p>Why do you have to invest all that time in redesigning the UI with each release? Why don&#8217;t you focus on making the current UI more responsible (for instance VS2010 takes 1 minute on my machines to start) and less buggy? Why don&#8217;t you invest that time in building features that make our lives easier? Like providing multiple windows for search results (not just two) or supporting auto completion (like it was in all versions until VS2010) in the folder selection fields in the New Project dialog?</p>
<p>So dear Microsoft, please</p>
<ol>
<li>make it possible for us to change the Chrome theme to the old colored theme</li>
<li>don&#8217;t change the UI with each version</li>
</ol>
<p style="text-align: right;">Sincerely,<br />
A concerned developer</p>
<p>PS: I still can&#8217;t get out of my mind the horror or scrolling with the mouse on Windows 8 maybe 5 screens of colorful tiles to get to the app that I want to launch. Awful! As it stands I see big failures on the horizon.</p>
]]></content:encoded>
			<wfw:commentRss>http://mariusbancila.ro/blog/2012/02/26/letter-from-a-concerned-developer/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Things I like about native development with C++/CX</title>
		<link>http://mariusbancila.ro/blog/2011/11/12/things-i-like-about-native-development-with-ccx/</link>
		<comments>http://mariusbancila.ro/blog/2011/11/12/things-i-like-about-native-development-with-ccx/#comments</comments>
		<pubDate>Fri, 11 Nov 2011 22:06:21 +0000</pubDate>
		<dc:creator>Marius Bancila</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[CTPs & Betas]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[WinRT]]></category>
		<category><![CDATA[namespace]]></category>
		<category><![CDATA[partial classes]]></category>
		<category><![CDATA[syntax]]></category>
		<category><![CDATA[VisualStudio]]></category>
		<category><![CDATA[VS10]]></category>
		<category><![CDATA[VS11]]></category>
		<category><![CDATA[VS2010]]></category>

		<guid isPermaLink="false">http://mariusbancila.ro/blog/?p=1182</guid>
		<description><![CDATA[Visual Studio 11 brings many new things for native development, including support for new features from C++11 (unfortunately not all), or ability to write Metro apps with C++/CX including modeling the UI with XAML. In this post I will talk a bit about three favorite features that I noticed immediately after trying VS11 from Windows [...]]]></description>
			<content:encoded><![CDATA[<p>Visual Studio 11 brings many new things for native development, including support for new features from C++11 (unfortunately not all), or ability to write Metro apps with C++/CX including modeling the UI with XAML. In this post I will talk a bit about three favorite features that I noticed immediately after trying VS11 from Windows 8 Developer Preview.</p>
<p><strong>Use of namespaces</strong><br />
Finally, I see namespaces promoted in native code. Yes, it&#8217;s C++/CX and they were probably forced to use namespaces for a consistent experience from the various languages that target the Windows Runtime, but it&#8217;s a very nice change to the default templates for C++ projects where everything is put in the global namespace. I can only hope they will improve that in this version or the next for standard C++ applications (whether Win32 console apps or MFC apps).</p>
<pre class="cpp" name="code">
namespace Sample
{
    public ref class MainPage
    {
        public:
            MainPage();
            ~MainPage();
    };
}
</pre>
<p><strong>UPDATE</strong>: looks like I wasn&#8217;t clear enough, I&#8217;m not saying namespaces is a new C++ feature (duh), I&#8217;m saying Visual Studio templates for C++ don&#8217;t promote that. Create a Win32 project, an MFC project, and ATL project, there are no namespaces. You&#8217;d have to code everything manually, but if you do it, you mess the wizards. So, what I&#8217;m saying is that I hope we can see namespaces <u>promoted</u> for other project and item templates too.</p>
<p><strong>Partial classes</strong><br />
I <a href="http://mariusbancila.ro/blog/2011/10/13/cpp-winrt-and-partial-classes/">already wrote about partial classes</a>, but I want to reiterate this feature. Partial classes gives you the ability to define a class in several files. This is great because developers and code generator tools such as designers can edit different parts of the same class without interfering one with the other. This feature made it possible for supporting XAML user interfaces in C++/CX Metro applications.</p>
<p>I&#8217;m actually wondering why isn&#8217;t this already part of standard C++ and I can only wish that the next version (which hopefully will not take another decade to conclude) will include this feature.</p>
<p><strong>Better Syntax Highlighting</strong><br />
Below is a comparison for the same piece of code highlighted by Visual Studio 2010 on the left, and Visual Studio.vNext (11) on the right.<br />
<a href="/blog/wp-content/uploads/2011/11/vs10syntaxhighlight.png"><img alt="" src="/blog/wp-content/uploads/2011/11/vs10syntaxhighlight.png" title="Highlighting with VS10" class="alignnone" width="400" /></a><a href="/blog/wp-content/uploads/2011/11/vs11syntaxhighlight.png"><img alt="" src="/blog/wp-content/uploads/2011/11/vs11syntaxhighlight.png" title="Highlighting with VS11" class="alignnone" width="400" /></a><br />
There is hardly any formatting in VS10. However, on the other hand, the highlighting in VS11 is beautiful. User defined types (including library types) are displayed with another color than the built-in types (such as int), including in their definition. STL types (string, vector, etc.) are finally identified as types and displayed with the appropriate color. Also the name of parameters is displayed in italics which makes them easily identifiable. There are other things about the highlighting, but these striking changes.</p>
]]></content:encoded>
			<wfw:commentRss>http://mariusbancila.ro/blog/2011/11/12/things-i-like-about-native-development-with-ccx/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>C++ Accelerated Massive Parallelism</title>
		<link>http://mariusbancila.ro/blog/2011/06/16/c-accelerated-massive-parallelism/</link>
		<comments>http://mariusbancila.ro/blog/2011/06/16/c-accelerated-massive-parallelism/#comments</comments>
		<pubDate>Thu, 16 Jun 2011 07:55:05 +0000</pubDate>
		<dc:creator>Marius Bancila</dc:creator>
				<category><![CDATA[Parallel Programming]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[concurrency]]></category>
		<category><![CDATA[library]]></category>
		<category><![CDATA[parallel]]></category>
		<category><![CDATA[VisualStudio]]></category>

		<guid isPermaLink="false">http://mariusbancila.ro/blog/?p=1011</guid>
		<description><![CDATA[Microsoft has recently announced at the AMD Fusion Developer Summit the introduction of a new technology called C++ Accelerated Massive Parallelism or shortly C++ AMP that helps C++ developers use the GPU for parallel programming. The new technology will be part of Visual C++, integrated with full support (edit, build, debug, profile) in the next [...]]]></description>
			<content:encoded><![CDATA[<p>Microsoft has recently announced at the AMD Fusion Developer Summit the introduction of a new technology called <strong>C++ Accelerated Massive Parallelism</strong> or shortly <strong>C++ AMP</strong> that helps C++ developers use the GPU for parallel programming. The new technology will be part of Visual C++, integrated with full support (edit, build, debug, profile) in the next version of Visual Studio. It is built in modern C++ on top of DirectX. It will provide an STL-like library, part of the Concurrency namespace, delivered in a amp.h header.</p>
<p>S.Somasegar (Senior Vice President of the Developer Division) said:</p>
<blockquote><p>By building on the Windows DirectX platform, our implementation of C++ AMP allows you to target hardware from all the major hardware vendors. We expect that it will be part of the next Visual C++ compiler and fully integrated in the next release of Visual Studio experience. </p></blockquote>
<p>You can read more about it here:</p>
<ul>
<li><a href="http://blogs.msdn.com/b/somasegar/archive/2011/06/15/targeting-heterogeneity-with-c-amp-and-ppl.aspx">Targeting Heterogeneity with C++ AMP and PPL</a></li>
<li><a href="http://www.danielmoth.com/Blog/C-Accelerated-Massive-Parallelism.aspx">C++ Accelerated Massive Parallelism</a></li>
<li><a href="http://blogs.msdn.com/b/vcblog/archive/2011/06/15/introducing-amp.aspx">Introducing C++ Accelerated Massive Parallelism (C++ AMP)</a></li>
</ul>
<p>Looking forward for the first CTP and samples.</p>
<p>UPDATE<br />
Herb Sutter introduces C++ AMP at the AMD Fusion Developer Summit 11<br />
<iframe style="height:288px;width:512px" src="http://channel9.msdn.com/posts/AFDS-Keynote-Herb-Sutter-Heterogeneous-Computing-and-C-AMP/player?w=512&#038;h=288" frameBorder="0" scrolling="no" ></iframe></p>
<p>Daniel Moth digs deeper into C++ AMP with code samples and more<br />
<iframe style="height:288px;width:512px" src="http://channel9.msdn.com/posts/Daniel-Moth-Blazing-fast-code-using-GPUs-and-more-with-C-AMP/player?w=512&#038;h=288" frameBorder="0" scrolling="no" ></iframe></p>
<p>Herb Sutter</p>
<blockquote><p>How long is your password? How long it will take a 100,000,000 GPU cores running at what, a million attempts per second to crack your password just by brute force? That where almost a kid can write that. An that is just a tiny example of how game changing this is.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://mariusbancila.ro/blog/2011/06/16/c-accelerated-massive-parallelism/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Day Visual Studio Went Crazy</title>
		<link>http://mariusbancila.ro/blog/2011/05/06/the-day-visual-studio-went-crazy/</link>
		<comments>http://mariusbancila.ro/blog/2011/05/06/the-day-visual-studio-went-crazy/#comments</comments>
		<pubDate>Fri, 06 May 2011 21:17:20 +0000</pubDate>
		<dc:creator>Marius Bancila</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[installer]]></category>
		<category><![CDATA[SDK]]></category>
		<category><![CDATA[SP1]]></category>
		<category><![CDATA[VS2010]]></category>

		<guid isPermaLink="false">http://mariusbancila.ro/blog/?p=945</guid>
		<description><![CDATA[I said it before, the Visual Studio installer gets me mad. All is fine until you want to install the Service Pack. After that you cannot install additional components until you uninstall the SP. Because of that, you should make sure you installed the entire Visual Studio package before installing SP1. So I did, but [...]]]></description>
			<content:encoded><![CDATA[<p>I said it before, the Visual Studio installer gets me mad. All is fine until you want to install the Service Pack. After that you cannot install additional components until you uninstall the SP. Because of that, you should make sure you installed the entire Visual Studio package before installing SP1. So I did, but it proved not enough. Here is the story of what happened today.</p>
<ol>
<li>I installed Visual Studio 2010 Ultimate on my machine (a couple of weeks ago).</li>
<li>I installed Visual Studio 2010 SP1. So far all was good, I was able to use it with no problems.</li>
<li>But then I decided to install the Windows Phone developer tools, following the steps described on this <a href="http://create.msdn.com/en-us/home/getting_started">page</a>. After that, when I started Visual Studio 2010 I got this message that SP1 was applied only partially and in order to start the application it must be applied to all components (which was weird because I did that before a couple of times and everything was fine).
</li>
<li>I have installed the SP1 again. Then, when I started VS2010 it worked.</li>
<li>However, I wanted to install the <a href="http://archive.msdn.microsoft.com/vsvmsdk">Visual Studio Visualization and Modeling SDK</a> to be able to automatically build my text templates when building the solutions, as described <a href="http://mariusbancila.ro/blog/2011/05/04/generate-output-from-t4-at-build-time/">here</a>. This SDK needed <a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=47305cf4-2bea-43c0-91cd-1b853602dcc5&#038;displaylang=en">Visual Studio 2010 SDK</a> installed on the machine. But when I ran the installer for the SDK I got the following error:
<p><img alt="" src="/blog/wp-content/uploads/2011/05/vs2010sdkerror.png" title="VS2010 SDK Error" class="alignnone" width="505" height="458" /></p>
<p>Obviously the error message was non-sense, not only I had VS2010 installed, but it had all the components, and the service pack was applied. Knowing the problems with the service pack, I immediately figured it was the reason.</li>
<li>I have uninstalled the Visual Studio 2010 SP1. Of course, while it was uninstalling it crashed, so I had to start it again.
<p><img alt="" src="/blog/wp-content/uploads/2011/05/vs2010sp1uninstallerror.png" title="VS2010 SP1 uninstall error" class="alignnone" width="667" height="652" /></li>
<li>I started the Visual Studio 2010 installer just to make sure I had all the components installed. However, I ran into this error:
<p><img alt="" src="/blog/wp-content/uploads/2011/05/vs2010setuperror.png" title="VS2010 setup error" class="alignnone" width="479" height="174" /></p>
<p>After several failed attempts I decided to restart Windows. That did the trick and the installer started correctly and I could make sure all the components were there.</li>
<li>I installed Visual Studio 2010 SDK successfully.</li>
<li>I installed Visual Studio Visualization and Modeling SDK successfully.</li>
<li>I installed Visual Studio 2010 SP1 successfully.</li>
</ol>
<p>Then, three hours later, I could start working with Visual Studio 2010 again. Text templates are automatically built, and the Windows Phone tools are working correctly.</p>
<p>Puff!</p>
]]></content:encoded>
			<wfw:commentRss>http://mariusbancila.ro/blog/2011/05/06/the-day-visual-studio-went-crazy/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Generate Output from T4 at Build Time</title>
		<link>http://mariusbancila.ro/blog/2011/05/04/generate-output-from-t4-at-build-time/</link>
		<comments>http://mariusbancila.ro/blog/2011/05/04/generate-output-from-t4-at-build-time/#comments</comments>
		<pubDate>Wed, 04 May 2011 07:27:40 +0000</pubDate>
		<dc:creator>Marius Bancila</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[build]]></category>
		<category><![CDATA[msbuild]]></category>
		<category><![CDATA[T4]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[VS2010]]></category>

		<guid isPermaLink="false">http://mariusbancila.ro/blog/?p=922</guid>
		<description><![CDATA[Text templates (aka T4) is a great feature in Visual Studio, that proves helpful in many scenarios. I use it for instance in developing Alchemy. However, it has a significant drawback: it does not generate code automatically when you build your solution. To build the files and generate their output you have to manually run [...]]]></description>
			<content:encoded><![CDATA[<p>Text templates (aka T4) is a great feature in Visual Studio, that proves helpful in many scenarios. I use it for instance in developing <a href="http://mariusbancila.ro/blog/games/alchemy/">Alchemy</a>. However, it has a significant drawback: it does not generate code automatically when you build your solution. To build the files and generate their output you have to manually run either <strong>Run Custom Tool</strong> command for each .tt file, or <strong>Transform All Templates</strong> for the entire solution.</p>
<table border="0">
<tr valign="top">
<td><div class="wp-caption alignnone" style="width: 255px"><img alt="" src="/blog/wp-content/uploads/2011/05/vs2010runcustomtool.png" title="Run Custom Tool" width="245" height="214" /><p class="wp-caption-text">Run Custom Tool</p></div></td>
<td><div class="wp-caption alignnone" style="width: 292px"><img alt="" src="/blog/wp-content/uploads/2011/05/vs2010tat.png" title="Transform All Templates" width="282" height="107" /><p class="wp-caption-text">Transform All Templates</p></div></td>
</tr>
</table>
<p>The good news is that Visual Studio 2010 has added capabilities for building the text templates files automatically at the build time. Basically, what you have to do is two things: first install the <a href="http://archive.msdn.microsoft.com/vsvmsdk">Visual Studio Visualization and Modeling SDK</a>. Second, manually add the following to the project file:</p>
<pre name="code" class="xml">
   &lt;PropertyGroup>
      &lt;TransformOnBuild >true&lt;/TransformOnBuild>
   &lt;/PropertyGroup>

   &lt;Import Project=
     "$(MSBuildExtensionsPath)\Microsoft\VisualStudio\TextTemplating\v10.0\Microsoft.TextTemplating.targets" />
</pre>
<p>And that should do the trick. When you build the project, the .tt files will also be built.</p>
<p>To read more about this topic see:</p>
<ul>
<li><a href="http://msdn.microsoft.com/en-us/library/ee847423.aspx">Code Generation in a Build Process</a></li>
<li><a href="http://www.olegsych.com/2010/04/understanding-t4-msbuild-integration/">Understanding T4: MSBuild Integration</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://mariusbancila.ro/blog/2011/05/04/generate-output-from-t4-at-build-time/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>VS2010 Productivity Power Tools</title>
		<link>http://mariusbancila.ro/blog/2011/03/18/vs2010-productivity-power-tools/</link>
		<comments>http://mariusbancila.ro/blog/2011/03/18/vs2010-productivity-power-tools/#comments</comments>
		<pubDate>Fri, 18 Mar 2011 14:23:49 +0000</pubDate>
		<dc:creator>Marius Bancila</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[addin]]></category>
		<category><![CDATA[VS2010]]></category>

		<guid isPermaLink="false">http://mariusbancila.ro/blog/?p=887</guid>
		<description><![CDATA[Productivity Power Tools is a Visual Studio 2010 add-in, developed by the Microsoft Visual Studio Platform Team and available in Visual Studio Gallery. Of course, you can also download it using Visual Studio Extension Manager, from the Tools menu in Visual Studio 2010. Its list of features is detailed on the add-in page and I [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://visualstudiogallery.msdn.microsoft.com/d0d33361-18e2-46c0-8ff2-4adea1e34fef">Productivity Power Tools</a> is a Visual Studio 2010 add-in, developed by the <a href="http://visualstudiogallery.msdn.microsoft.com/site/profile?userName=Microsoft%20-%20Visual%20Studio%20Platform%20Team">Microsoft Visual Studio Platform Team</a> and available in Visual Studio Gallery. Of course, you can also download it using Visual Studio Extension Manager, from the Tools menu in Visual Studio 2010.</p>
<p><img alt="" src="/blog/wp-content/uploads/2011/03/ppt_install.png" title="Extension Manager" class="alignnone" width="859" height="499" /></p>
<p>Its list of features is detailed on the add-in page and I will not enumerate them here. I just want to list the features that I find most useful (at least so far). All these features are enabled by default, but the add-in is very customizable. To enable/disable features or change current settings use the Options dialog and go the Productivity Power Tools page.</p>
<p><img alt="" src="/blog/wp-content/uploads/2011/03/ppt_options.png" title="Add-in Options" class="alignnone" width="747" height="430" /></p>
<p><strong>Highlight Current Line</strong><br />
The line where your cursor is displayed is highlighted so that you can easily spot it. Here is a screen shot.<br />
<img alt="" src="/blog/wp-content/uploads/2011/03/ppt_selection.png" title="Highlight Current Line" class="alignnone" width="647" height="160" /></p>
<p><strong>Go to Definition</strong><br />
If you press the Ctrl key while the cursor is over a symbol, the symbol appears as a hyperlink and clicking it will take you to the definition.<br />
<img alt="" src="/blog/wp-content/uploads/2011/03/ppt_gotodef.png" title="Click + Ctrl" class="alignnone" width="730" height="148" /></p>
<p><strong>Move Lines</strong><br />
You can move the current line or an entire selection up with Atl + Up Arrow, or down with Atl + Down Arrow. Useful to avoid Ctrl + X and Ctrl + V, unless you have to move too many lines up or down.<br />
<img alt="" src="/blog/wp-content/uploads/2011/03/ppt_moveline.png" title="Move Line" class="alignnone" width="664" height="159" /></p>
<p><strong>Modified Document Mark</strong><br />
Modified, but yet not saved documents, are indicated with a red dot on the tab.<br />
<img alt="" src="/blog/wp-content/uploads/2011/03/ppt_tabmodified.png" title="Modified Document" class="alignnone" width="302" height="30" /></p>
<p><strong>Pinned Tabs</strong><br />
You can pin tabs on the tab bar. When you hover the cursor over a tab, a pin indicator appears. You can click it and then the tab is pinned on the tab bar, from left to right, so that no mater how many documents you open, the pinned tabs remain visible and you are able to quickly access them.<br />
<img alt="" src="/blog/wp-content/uploads/2011/03/ppt_pin.png" title="Pinned Tabs" class="alignnone" width="556" height="174" /></p>
<p><strong>Undo Close</strong><br />
Recently closed documents are listed in a new tool window called Undo Close. You can double click them and they will be re-opened (and removed from the undo close list).<br />
<img alt="" src="/blog/wp-content/uploads/2011/03/ppt_undoclose.png" title="Undo Close" class="alignnone" width="675" height="291" /></p>
<p><strong>Floating Tabs</strong><br />
Many developers use two monitors (or even more). Now it is possible to dock floating tabs on a second monitor just as you&#8217;d do with a tool window. The following screen shot shows two tabs docked into a separate window on a second monitor.<br />
<img alt="" src="/blog/wp-content/uploads/2011/03/ppt_secondmonitor.png" title="Floating Tabs" class="alignnone" width="717" height="473" /></p>
<p><strong>Solution Navigator</strong><br />
A brand new solution explorer has been created allowing you to easily navigate the solution. You can search it, filter it to see only opened, unsaved, edited or all files, view related information about classes and members, preview images, etc. </p>
<p>The following image shows: the entire solution (left), only the items that contain the word <em>thumb</em> (middle) and only the opened items shown within their projects (right).<br />
<img alt="" src="/blog/wp-content/uploads/2011/03/ppt_solutionnavigator.png" title="Solution Navigator" class="alignnone" width="867" height="655" /></p>
<p>Another cool feature is the image preview. All you have to do is hover the cursor over an image and you get a preview of it, as shown below.<br />
<img alt="" src="/blog/wp-content/uploads/2011/03/ppt_previewimage.png" title="Preview Image" class="alignnone" width="282" height="508" /></p>
<p>Looking forward to seeing these features by default in Visual Studio and not available through an add-in.</p>
]]></content:encoded>
			<wfw:commentRss>http://mariusbancila.ro/blog/2011/03/18/vs2010-productivity-power-tools/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Defining x64 Target Platform for VC++ Projects</title>
		<link>http://mariusbancila.ro/blog/2010/10/05/defining-x64-target-platform-for-vc-projects/</link>
		<comments>http://mariusbancila.ro/blog/2010/10/05/defining-x64-target-platform-for-vc-projects/#comments</comments>
		<pubDate>Tue, 05 Oct 2010 18:43:39 +0000</pubDate>
		<dc:creator>Marius Bancila</dc:creator>
				<category><![CDATA[64bit]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[configurations]]></category>
		<category><![CDATA[VC++]]></category>
		<category><![CDATA[x64]]></category>

		<guid isPermaLink="false">http://mariusbancila.ro/blog/?p=717</guid>
		<description><![CDATA[If you want to port an existing 32-bit application for the x64 platform (especially since 32-bit processors will soon be history), or if you want to target x64 for a new application, the first step in building for x64 is setting up your solution. In this post I will explain what are the steps in [...]]]></description>
			<content:encoded><![CDATA[<p>If you want to port an existing 32-bit application for the x64 platform (especially since 32-bit processors will soon be history), or if you want to target x64 for a new application, the first step in building for x64 is setting up your solution. In this post I will explain what are the steps in configuring x64 as target platform for your projects. Of course you must have the 64-bit compiler and tools installed to make this possible.</p>
<p>Here is an example of a solution with two VC++ project (a Win32 DLL and a console application).<br />
<img alt="" src="/blog/wp-content/uploads/2010/10/x64_solution1.png" title="Initial solution" class="alignnone" width="244" height="134" /></p>
<p>The VC++ wizards add only Win32 (i.e. x86) as target platform for your projects and for your solution (I believe this will change in the future). You can see this by expanding the platforms combo.<br />
<img alt="" src="/blog/wp-content/uploads/2010/10/x64_targetplatforms1.png" title="Target platforms 1" class="alignnone" width="304" height="60" /></p>
<p>If you open the <strong>Configuration Manager</strong> window for the solution you can see the available solution platforms, and for each project, the available project platforms (these might not be the same).<br />
<img alt="" src="/blog/wp-content/uploads/2010/10/x64_configmanager1.png" title="Configuration manager 1" class="alignnone" width="704" height="438" /></p>
<p>The configuration manager allows you to set for each pair of solution configuration and solution platform the platform for each individual project. So in theory you can configure for Debug with Win32 at solution level to have, in my demo solution, DemoProject targeting Win32 and DemoLibrary targeting x64. Of course, in practice you probably want to have all projects targeting Win32 in this case, and for the pair Debug with x64 at solution level, have all projects targeting the x64 platform.</p>
<p>To make this platform available for the solution, expand the <strong>Active solution platform</strong> combo and select <strong><New...></strong>. The <strong>New Solution Platform</strong> dialog will open and allow you to define a new target platform for the solution. Select <strong>x64</strong> and for <strong>Copy settings from</strong> select <strong>Win32</strong>.<br />
<img alt="" src="/blog/wp-content/uploads/2010/10/x64_newplatform1.png" title="New solution platform 1" class="alignnone" width="339" height="217" /></p>
<p>Then make sure you check the <strong>Create new project platforms</strong> checkbox. In this case the x64 platform will also be defined for every project included in the solution.<br />
<img alt="" src="/blog/wp-content/uploads/2010/10/x64_newplatform2.png" title="New solution platform 2" class="alignnone" width="339" height="217" /></p>
<p>After you do this, the x64 platform will be available in the configuration manager for the solution and the projects, so that you can configure the relationships.<br />
<img alt="" src="/blog/wp-content/uploads/2010/10/x64_configmanager2.png" title="Configuration manager 2" class="alignnone" width="706" height="439" /></p>
<p>Also, the solution platforms combo from the toolbar now displays both Win32 and x64.<br />
<img alt="" src="/blog/wp-content/uploads/2010/10/x64_targetplatforms2.png" title="Solution platforms 2" class="alignnone" width="304" height="75" /></p>
<p>But now let&#8217;s say you add a new project to the solution. Let&#8217;s call this DemoLibrary2.<br />
<img alt="" src="/blog/wp-content/uploads/2010/10/x64_solution2.png" title="Solution 2" class="alignnone" width="248" height="139" /></p>
<p>Since the project was added after defining x64 as a target for the solution and all the projects, the x64 platform won&#8217;t be defined for this project (remember, by default, the VC++ wizards don&#8217;t add x64 as target platform). You can see this in the configuration manager, where only Win32 is available for the new project.<br />
<img alt="" src="/blog/wp-content/uploads/2010/10/x64_configmanager3.png" title="Configuration manager 3" class="alignnone" width="706" height="439" /></p>
<p>To define the x64 target for the new project, use the project platform combo and select <strong><New...></strong> (see the image above) to open the <strong>New Project Platform</strong> dialog. Select x64, as new platform, but make sure the checkbox <strong>Create new solution platforms</strong> remains unselected. Otherwise you&#8217;ll get an error, since the platform is already available at the solution level.<br />
<img alt="" src="/blog/wp-content/uploads/2010/10/x64_newplatform3.png" title="New Project Platform" class="alignnone" width="339" height="219" /></p>
<p>After that, the x64 platform will be available for the new project too, and you can make the appropriate configurations in the Configuration Manager window.<br />
<img alt="" src="/blog/wp-content/uploads/2010/10/x64_configmanager4.png" title="Configurations manager 4" class="alignnone" width="706" height="439" /></p>
<p>And with that you&#8217;re done. All you have to do now is configure the settings for each project, for each configuration and platform.</p>
]]></content:encoded>
			<wfw:commentRss>http://mariusbancila.ro/blog/2010/10/05/defining-x64-target-platform-for-vc-projects/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>How to Find the Source of Memory Leaks</title>
		<link>http://mariusbancila.ro/blog/2010/07/12/how-to-find-the-source-of-memory-leaks/</link>
		<comments>http://mariusbancila.ro/blog/2010/07/12/how-to-find-the-source-of-memory-leaks/#comments</comments>
		<pubDate>Mon, 12 Jul 2010 08:36:02 +0000</pubDate>
		<dc:creator>Marius Bancila</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[debugger]]></category>
		<category><![CDATA[VisualStudio]]></category>

		<guid isPermaLink="false">http://mariusbancila.ro/blog/?p=638</guid>
		<description><![CDATA[When you run your (unmanaged/C++) application in debugger, you see at the end a report of memory leaks (if any are detected). Something like this: Detected memory leaks! Dumping objects -> f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(141) : {381} normal block at 0x001FFC30, 54 bytes long. Data: < x > 0C 00 B9 78 12 00 00 00 12 00 [...]]]></description>
			<content:encoded><![CDATA[<p>When you run your (unmanaged/C++) application in debugger, you see at the end a report of memory leaks (if any are detected). Something like this:</p>
<blockquote><p>Detected memory leaks!<br />
Dumping objects -><br />
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(141) : {381} normal block at 0x001FFC30, 54 bytes long.<br />
Data: < x > 0C 00 B9 78 12 00 00 00 12 00 00 00 01 00 00 00<br />
d:\marius\vc++\memoryleakstest\memoryleakstestdlg.cpp(163) : {380} normal block at 0x001FFBF0, 4 bytes long.<br />
Data: <@ > 40 FC 1F 00<br />
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\thrdcore.cpp(306) : {374} client block at 0x001FFA38, subtype c0, 68 bytes long.<br />
a CWinThread object at $001FFA38, 68 bytes long<br />
Object dump complete. </p></blockquote>
<p>Some of them can be fixed immediately, because when you double click on them Visual Studio will take you to the line where the allocation was made. Some of them are harder to spot, because Visual Studio is not able to do the same. Question is how do you find the source of those allocations? Luckily, there is this global variable called <strong>_crtBreakAlloc</strong>, that can be used to force the debugger to stop the execution when a certain block is allocated.</p>
<p>In order to use that, you should follow several steps:</p>
<ul>
<li>First, you have to find a reproducible sequence that produces the same memory allocation number. When memory blocks are allocated, they are identified with a number, called allocation number. This number is reported by Visual Studio in brackets when it lists the memory leaks (e.g. {381}).</li>
<li>Second, you have to put a breakpoint somewhere in your program to force a stop at the beginning of the execution. That means you could use function main(), your CWinApp derived class constructor, function InitInstance() or other, depending on your application type and how early in the execution of the program the block that leaks is allocated. The smaller the allocation number is, the earlier in the execution the allocation occurs.</li>
<li>Run your program in debugger.</li>
<li>When the program stops (at the first breakpoint) open the Watch window and add the following expression: <strong>{,,msvcr90d.dll}_crtBreakAlloc</strong> in the Name column. In the Value column (which by default should have the value -1) write the allocation number. Take notice that msvcr90d.dll (which is the DLL that contains the C++ runtime library) is specific to Visual Studio 2008 (and is the debug version). If you use another version of Visual Studio, you have to use the appropriate DLL.</li>
<li>Continue debugging.</li>
<li>When the block identified by the allocation number set in the Watch window is allocated, the debugger will stop the execution and jump to a line from dbgheap.c.<br />
<img alt="" src="/blog/wp-content/uploads/2010/07/vcdeb_memoryleak1.png" title="Set a breakpoint and add _crtBreakAlloc in Watch window" class="alignnone" width="638" height="247" /><br />
In order to see the line in your code that triggered the allocation, open the Call Stack window and find, from top down, the first function from your own code.<br />
<img alt="" src="/blog/wp-content/uploads/2010/07/vcdeb_memoryleak2.png" title="Find the source of the allocation" class="alignnone" width="722" height="537" /><br />
That will lead you to the source of the memory leak.</li>
</ul>
<p>To read more about this topic see:<br />
<a href="http://msdn.microsoft.com/en-us/library/w2fhc9a3%28VS.80%29.aspx">How to: Set Breakpoints on a Memory Allocation Number</a><br />
<a href="http://support.microsoft.com/kb/151585">How to use _crtBreakAlloc to debug a memory allocation</a></p>
]]></content:encoded>
			<wfw:commentRss>http://mariusbancila.ro/blog/2010/07/12/how-to-find-the-source-of-memory-leaks/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

