Looking for questions or feedback on IntelliTrace


During the last few months, I’ve been blogging extensively about a new Visual Studio 2010 feature called IntelliTrace (formerly known as the “Historical Debugger”). We are very excited about IntelliTrace and think that it’s going to change how people debug their applications.

Since IntelliTrace is a brand new feature, we are eager to hear from developers about what they think about it. So, here is my offer: If you have any questions or feedback (both positive and negative) about IntelliTrace, send me your feedback via this blog and I will reply with an answer within 24 hours. Regardless of weather you’ve used IntelliTrace extensively and have an “advanced” questions, or you’ve never used it before and just want to learn about it, I’ll be happy to answer any questions related to IntelliTrace.

Thanks in advance.

Habib Heydarian.

Comments (4)

  1. Ooh says:

    Hi Habib, great offer, thanks for even making the promise to answer within 24 hours :-)

    At first I’d like to thank you very much because I really LOVE this feature. It’s gonna change the debugging experience of me and my colleagues tremendously, hopefully (see below).

    The following two questions came to my mind:

    1. What do you think about the decision to ship Historical Debugging – aaahh I mean IntelliTrace – only in VS Ultimate?

    2. Last week you wrote about reasons for IntelliTrace to not be available. Unfortunately the concrete reasons rule out a lot of applications, e.g.

    * 64-bit applications, which are widespread in the Server market (not running a 32-bit process via WOW)

    * Web applications running under IIS, because it can’t attach

    * Local services, because it can’t attach

    * Remote scenarios in general, because it can’t attach

    Am I unaware of existing workarounds to these restrictions or is there really no way to make it work in these scenarios?

    Do you already have some plans on where to go with this feature? Are you going to address at least some of these restrictions in the future (v.Next)? My boss is not yet convinced to buy Ultimate and unfortunately applications in above categories make up at least 50% of our total product line :-( Of course we are aware of the fact that it’s very early in the next cycle, but knowing how you intend to refine the feature can potentially have an impact on our purchase decision.

    It would really be great if you could take the time to answer these, even if you won’t get it done within 24 hours 😉 Thanks!!

    Ooh

  2. habibh says:

    Thanks for the great feedback. The decision around making IntelliTrace available only in the Ultimate SKU is due to the fact that each VS product has unique and differentiated value. IntelliTrace is a premier capability and as a result, only available in VS Ultimate.

    IntelliTrace *does* work for applications hosted in IIS. The key difference is that you cannot manually attach to the w3wp.exe process. Instead, you have to start your application under the debugger, i.e. press F5.

    As far as 64-bit and other non-supported scenarios are concerned, we will try our best to fill these gaps as soon as possible, however, I cannot promise you a timeline at this point. What I can tell you is that we’ve received feedback from several other users about supporting these types of scenarios.

  3. OmerRaviv says:

    Hi Habib,

    Thank you very much for your initiative and your attitude – it’s a blessing :)

    Here are my questions:

    1. why does IntelliTrace not support local variables, and whther or not this will be available in the future? It seems to me a huge setback to be only able to view the method entry parameters and the return value.

    It is a huge deal to be able to explore the different versions of a variable, before and after calling a certain method, etc.

    2. What is being saved? string representation of objects values (by using the expression evaluator), or some serialized form of the entire objects themselves? This seems important, because in VS2010 Beta2, when I am in the history view, and I write some boolean expression in the debug watch window, such as "this.foundNode", i get an answer, but if I try to write a wee bit more complex expression, ie "!this.foundNode", I get a "Expression is not supported in historical mode".

    3. And most importantly, when looking at the variables that ARE available in the historical debugger in the watch window, and expanding them by using the + button, it seems like only the primitive types are available – all the others are marked as {unknown} – why? I assume there needs to be some control over how deep the historical debugger looks into the object graph and stores the information, but will we be able to control just how deep it goes?

    Thanks again,

    – Omer

  4. liunate says:

    Hi Habib,thx for the information you’ve shared so far. It’s lucky for me currently working on this kind of so called "post-mortem" debugging issue. After read your articles and some videos from Channel9, I still have some question about the coming feature.

    Here are the questions:

    1. Can I create the dump file which is supported by Intellitrace other than running my apps in VS debug mode?

    2. From the video on Channel9 (http://channel9.msdn.com/shows/10-4/10-4-Episode-34-Debugger-Enhancements-and-Improvements/#Page=2), I saw the dump file needed for Intellitrace is quite large (about a hundred megabytes). I’m assuming it’s a full memory dump file of debugging application. Do we always need such a large dump file to fully utilize Intellitrace funcitonality?

    3. Just the same as one of the question in the previous comment by Omer, is local variable accessible during Intellitrace?

    Thx, oh and you don’t need to be such hurry in answering these questions, I can wait. :]