Finding Memory Leaks Using the CRT Library. Memory leaks, defined as the failure to correctly deallocate memory that was previously allocated, are among the most subtle and hard-to-detect bugs in C/C++ applications.
A small memory leak might not be noticed at first, but over time, a progressive memory leak can cause symptoms that range from decreased performance to crashing when the application runs out of memory. Worse, a leaking application that uses up all available memory can cause another application to crash, creating confusion as to which application is responsible. Even seemingly harmless memory leaks might be symptomatic of other problems that should be corrected. The Visual Studio debugger and C Run-Time (CRT) libraries provide you with the means for detecting and identifying memory leaks.
Troubleshooting pkgdef Files - The Visual Studio Blog. For those using the Visual Studio 2010 SDK to create extensions for Visual Studio, you should find the creation and use of .pkgdef files to be mostly automatic (see What's a PkgDef and Why?).
However, like anything involving computers and software, there are occasions that require manual intervention because they aren’t covered by the automatic settings or things can go wrong. This article illustrates some possible issues with .pkgdef files and provides techniques for discovering what’s wrong and correcting them. Please note that these techniques apply not only to the Visual Studio 2010 IDE, but also to applications built using the Visual Studio 2010 Shell (Isolated) (or Integrated). All of the examples assume the case of VS 2010 running on 32-bit Windows 7. How to Update a Visual Studio 2008 Guidance Package to Visual Studio 2010. PluginResources - dxcorecommunityplugins - Where to start when creating Coderush/Refactor/DXCore plugins - Community-contributed plugins for DXCore. Decorate Your Code with Astonishing Attributes.
Tutorial: A Simple Managed Project System - Visual Studio Extensibility User Education. Understanding Composite UI Application Block, Part V. In most applications certain user interface areas are shared among various modules.
Examples are all kinds of menus, tool bars, status bars, Outlook style sidebars and others. What is common for all of them is that they serve as containers for collections items (menu items, toolbar buttons, etc.) that user can activate to trigger some actions in the application. A Prefabricated Toolkit for a Modern Smart Client App, and an in-house training class on it. Thunderclap, the Newsletter of Rolling Thunder Computing Volume 7, Number 2, Fall 2005 In this issue: Feature Article: The Composite UI Application Block -- A Prefabricated Toolkit for a Modern Smart Client App Blatant Self-Promotion: New in-house class on Composite UI Application Block.
SAL Annotations. If you examine the library header files, you may notice some unusual annotations, for example, _In_z and _Out_z_cap_(_Size).
These are examples of the Microsoft source-code annotation language (SAL), which provides a set of annotations to describe how a function uses its parameters, for example, the assumptions it makes about them and the guarantees it makes on finishing. The header file <sal.h> defines the annotations. You can put an annotation before either the type of a function parameter or its return type, and use the annotation to describe the behavior of the function regarding the parameter or the return value. There are two classes of annotations: buffer annotations and advanced annotations. A buffer annotation describes how a function uses its pointer parameter, and an advanced annotation either describes complex or unusual buffer behavior, or provides additional information about a parameter that is not otherwise expressible.
Use only one buffer annotation for each parameter. Understanding the TypeDescriptor: A Metadata Engine for Designtime Code - Partho's Weblog. Hi folks - long time no see...
Programatic Configuraton - Enterprise Library (v2.0) Logging Block. ObjectBuilder Dependency Injection Framework. Enterprise Library : Configuration Part 1.1.3 - ConfigurationContext - Being Scott Densmore. Last week I did a podcast (why do we call it that when we use the WMA format?)
With Ron Jacobs on the ConfigurationContext. I know that the talk was abstract and probably a little hard to follow and I hope to clear that up today with another explanation and samples. I want to start off by saying that we intentionally did not document this “feature” because: a) we ran out of time , b) we knew it was a hard concept to cover, and c) I didn’t think people would be that interested (see what you get when you assume things). What is the ConfigurationContext ? . The SetupThere are a couple of main scenarios that the ConfigurationContext supports: 1) using a different file (not app.config / web.config) for reading/writing meta-data configuration; 2) allows you to use configuration that does not need any type of backing store and can be created dynamically within your application. Rob Caron. Visual Studio Widgets. Prism.
Patterns & practices Developer Center June 2013 Prism provides guidance to help you more easily design and build, flexible, and easy-to-maintain client business apps that run on Windows Runtime, Windows Presentation Foundation (WPF) desktop, Silverlight, or Windows Phone 7.
Modifying the Guidance Package. With the Windows Installer of the Smart Client Software Factory, you can choose to install the source code for the guidance package, install the guidance package and register it, or you can choose to both install the source code and register the guidance package.
When you choose to register the guidance package, the installer copies the guidance package contents and assemblies to your computer. When you install the source code, you can compile the guidance package to create the assemblies. The guidance package you can register with Windows Installer and the guidance package you can install as source code are identical with the exception of their identifiers. This means you can customize the guidance package source code, register it, and use it side by side with the guidance package that is registered by Windows Installer.
You can modify the existing guidance package, or create new guidance packages, to customize the Smart Client Software Factory. Registering a Guidance Package. Web Service Software Factory - View Discussion. Hi, I've been fighting with this for a while to no avail. What I'm trying to do is add context sensitive menu option to add some additional files to the selected project. The problem comes with needing to add files to different folders and the creation of the folders. I can code a recipe to add the files (generated using t4 templates) to the root folder without any problems. Patterns & practices Guidance Explorer. IVsProject2.AddItem Method (UInt32, VSADDITEMOPERATION, String, UInt32, String, IntPtr, VSADDRESULT) (Microsoft.VisualStudio.Shell.Interop) Creates new items in a project, adds existing files to a project, or causes Add Item wizards to be run. Namespace:Microsoft.VisualStudio.Shell.InteropAssembly:Microsoft.VisualStudio.Shell.Interop (in Microsoft.VisualStudio.Shell.Interop.dll) int AddItem( uint itemidLoc, VSADDITEMOPERATION dwAddItemOperation, string pszItemName, uint cFilesToOpen, string rgpszFilesToOpen, IntPtr hwndDlgOwner, VSADDRESULT pResult ) Parameters itemidLoc Type: System.UInt32 [in] Identifier of the container folder for the item being added.
DwAddItemOperation Type: Microsoft.VisualStudio.Shell.Interop.VSADDITEMOPERATION [in] Operation applied to the newly created item. PszItemName Type: System.String. INFO: List of known project type Guids. Introduction This article provides a list of known project type Guids. More Information Every Visual Studio project has a project type (Windows project, Smart Device project, Web Site project, etc.) and in some cases more than one type (subtypes or flavors).
Dxcorecommunityplugins - Community-contributed plugins for DXCore. IntelliSense/Browsing options in VC++ 2010 - Visual C++ Team Blog.