Debug with an incompatible Visual Studio, but with .pdb
Okay, weird situation: I need to Debug a VSTO Office Addin. This was written in Visual Studio 2008 Professional and debugging is usually done by loading the Project, Attaching to Outlook.exe and setting breakpoints - works fine.
But I gave a situation where it does not work as expected on one machine, but I do not have VS2008 Pro on that Machine (only Express if that helps, but express will not load the project as the Project type is unsupported), and no chance to use a Remote Debugger.
I just wonder if it's possible to still debug it without loading the project, since I'm "armed" with the .pdb File, Source Code and .dll that was used for this.
Edit: Just for clarification, it's not an exception, it's an if/else block that goes into the else block even though it should not. I would need to set a breakpoint and inspect some .net variables, possibly even modifying them.
WinDbg将能够做到这一点,但它不是用户友好的。
Another simple trick: Add trace messages to your code ( System.Diagnostics.Trace
). You will be able to monitor all trace messages using DbgView from Sysinternals/MS.
Might not give the ability to step through your code, but this comes in very handy when analysing problems on a target system where no debugger is at hand eg at a customer site.
If you log the exception with the call stack then you will have a line number and source file. If you can deploy new code on the machine, put some extra logging/tracing in the code.
If this doens't work, use WinDbg to inspect a memory dump, and use the SOS Debugging Extension.
EDIT: Hawkeye.Net might also be helpful in your situation.
链接地址: http://www.djcxy.com/p/12934.html