I’m sure I’m not the first person to come up with this. అయితే, I haven’t noticed anyone publish a trick like this since I started paying close attention to the community last July. ఈ విధంగా, నేను ఈ త్వరితంగా మరియు సులభంగా డీబగ్ చిట్కా పోస్ట్ ఇష్టం ఆలోచన.
I’m working on an event receiver that started to generate this error in the 12 అందులో నివశించే తేనెటీగలు:
Xyzzy లోపం లోడ్ మరియు పరుగు పందెం రిసీవర్ Conchango.xyzzyEventReceiver, సంచిక = మాత్రం దానిని 1.0.0.0, సంస్కృతి = తటస్థ, PublicKeyToken=blahbalhbalh. Additional information is below. : ఆబ్జెక్ట్ సూచన ఒక వస్తువు యొక్క సందర్భానికి సెట్ కాదు.
I didn’t know where I had introduced this bug because I had done too many things in one of my code/deploy/test cycles.
I tried this solution to get my pdb in there with hopes that SharePoint’s 12 hive would show the stack trace, but no luck. I don’t know if it’s possible and if someone does, నాకు తెలపండి 🙂
I know it’s possible to write your own log messages to the 12 అందులో నివశించే తేనెటీగలు. Frankly, I wanted something a little less scary and quicker to implement.
It occurred to me that I could at least get some basic trace information by catching and re-throwing generic exceptions like this:
ప్రయత్నించండి { UpdateEditionDate(లక్షణాలు); } పట్టుకొను (మినహాయింపు e) { రువ్వు కొత్త మినహాయింపు("Dispatcher, UpdateEditionDate(): మినహాయింపు: [" + e.ToString() + "]."); }
This showed up in the 12 hive thusly:
Xyzzy లోపం లోడ్ మరియు పరుగు పందెం రిసీవర్ Conchango.xyzzyEventReceiver, సంచిక = మాత్రం దానిని 1.0.0.0, సంస్కృతి = తటస్థ, PublicKeyToken=blahblahblah. Additional information is below. : పంపిణీదారుకు, UpdateEditionDate(): మినహాయింపు: [System.NullReferenceException: ఆబ్జెక్ట్ సూచన ఒక వస్తువు యొక్క సందర్భానికి సెట్ కాదు. at Conchango.xyzzyManagementEventReceiver.UpdateEditionDate(SPItemEventProperties లక్షణాలు) at Conchango.xyzzyManagementEventReceiver.Dispatcher(SPItemEventProperties లక్షణాలు, String eventDescription)].
That gave me all the detail I needed to track down that particular problem and I expect to use it a lot going forward.
</చివర>
Better yet, Enterprise లైబ్రరీ లేదా log4net వంటి లాగిన్ లైబ్రరీ జోడిస్తారు మరియు మీ జీవితం కూడా సులభంగా ఉంటుంది.