I'm working on a real-time application (lets call it App1) which is communicating with another application (App2). I used VS2008 and both applications are in C++. Recently I converted the App1 project to VS2010 and right after that it started crashing (I use VS2010 Premium Ver. 10.0.30319.1). Crash dump shows that right before a crash, App2 tries to send a request to App1 for multiple times without receiving any response. So I thought maybe converting App1 to VS2010 screwed the performance and it takes a long time for App1 to generate the response. Does using VS2010 has any effect on the performance (compared to VS2008)?
Well of course it has "some" effect on the performance. The compiler is newer, and in many regard better.
The problem you are suffering is unlikely to be as a result of the compiler going wrong however. Its possible you have made an assumption that no longer holds true under the C++0x features introduced in 2010 but I'd suggest its far more likely that you have a bug in the VS2008 version as well. You need to figure out why its hanging and see what you can do to stop that hang happening. It is quite probable that the timings have been changed around using 2010 and an assumption you've made (and you should never assume things will work in a specific way ... either know or look it up) has come back to bite you in the arse.
Probably not the kinda answer you were looking for though ... but I'd definitely bet on it being a bonafide bug!
The thing to do is not guess around about this and that.
The thing to do is find the bug and fix it.
It's tricky with asynchronous apps that coordinate with message passing. The way I handle jobs like that is to generate a detailed time-stamped log of the message traffic from/to each app. I take those logs and merge them together into a single timeline. Then I study the timeline and look for things that don't work as expected.
This is work. It can take many hours, and you will probably have to repeat it, but you will find the problem. I assume you're the kind of programmer who will tackle a tough job and see it through.