The developer’s toolkit for .NET: Part II: Cold Startup time

2. Application slow to load: Scenario: “Our application takes too long to load for the first time. It exhibits the same behavior once in a while…”   To go ahead and analyze this scenario, we need to understand as to what happens when the application is loaded. Let me give a quick recap on that:…

0

The developer’s toolkit for .NET: Part I : FileNotFoundException

Recently I had been to couple of places on behalf of Microsoft DPE (Developer & Platform Evangelism) group as part of their new initiative Innovation Day to talk about The developer’s toolkit for .NET. It was an exciting experience and it was little surprising to know how much this territory is unexplored. So I decided to…

0

Stack Corruption: Calling convention mismatch

Stack is one of the most widely understood data structures in computer science. It is a general purpose data structure and is a part of most of modern day computer architectures as well. In the context of a thread running in an executing process, “the stack” is the memory specifically given to that thread for…

4

Part 2: Troubleshooting VC++ Side by Side Problems

Troubleshooting side by side problems is not a challenging task unless you break the basic checks which are required to successfully run your application. These rules help you track the problem area in your application at the first stage. For more information, see Part 1: Troubleshooting VC++ Side by Side Problems. This blog attempts to help you troubleshoot…

23

Part 1: Troubleshooting VC++ Side by Side Problems

Let’s go back to the older days, when code sharing was an integral decision taken by application developers. Code sharing allowed developers to write efficient and light-weight applications with less memory utilization. Creating a shared component in the form of Dynamic Link Library (DLL) soon became an obvious choice to achieve code sharing. However, there…

13

X86,x64,IA64,Any CPU

When a managed application is built on Visual Studio , we get four options to choose for a platform  .Lets discuss these options in detail . 1)x86 X86 is the generic name for all Intel x86 32 bit architectures.  If you build your application using x86 switch , your binary will run as 32 bit…

0

Troubleshooting startup issues with managed application having Authenticode signature

Authenticode, also referred as a “digital signature”, is an industry standard of verifying the source of an application by setting up a trust relationship with the publisher of the application. However, digitally signing your managed application might cost you in terms of application startup time. Following are the facts: 1.       When the CLR loads an…

5

Troubleshooting when two modules share different copy of CRT

You may run into the problem, while upgrading from lower CRT to higher CRT version or when you mix the CRT versions. It may result in Access Violation. Here, I have used WinDbg to debug such a scenario.   Sometimes it’s hard to figure out the cause if the application access violates without displaying any…

0

How CRT dependency is added to manifest file.

Well, the dependency information is added to manifest file by a tool known as mt.exe. But this information is provided to mt.exe by linker. And linker gets this information from linker directives. Now these linker directives are present in two places. 1) Headers:  To be precise Crtdefs.h contains these linker directives #ifdef _M_IX86   #ifdef…

1