Using SheepAspect on a DLL removes line numbers from exception stack traces.


I am using SheepAspect on a ORM project to inject property change events into object setters, and its working great. However, it makes debugging xUnit tests somewhat difficult because I can no longer get the exact line that the test failed on. I looked at another code weaving library for .Net, Afterthought.Net, and I believe it handles this by recompiling the PDB files for the edited Dlls.


hendryluk wrote Dec 20, 2013 at 5:59 AM

SheepAspect will weave your pdb too, when one is present (on the same directory as the weaved dll), which will work on the debuggger (although, you do need to make sure your Visual Studio debugging settings are configured to enable this, as described here: http://stackoverflow.com/questions/6355672/how-to-attach-vs2010-debugger-to-a-sheepaop-weaved-assembly).
For stack-trace on exception messages, it should produce that regardless of your Visual Studio settings. But first step to troubleshoot this issue, could you please check whether you do have the actual pdf along side your (original) dll file that will be weaved by SheepAspect?

VoiceOfWisdom wrote Dec 20, 2013 at 5:53 PM

I confirmed, the pdb's are in the folder with the dlls. Debugging does work, I am able to break point my joint points and step through the code being run, it is just the stack trace line numbers that aren't working.