I am having the weirdest problem. I have a unit test .EXE which exercises my code which lives in a .DLL assembly. However, the code that the debugger is stepping through doesn't match what's actually happening.
For example, say I have this:
1: public bool Load (XPathDocument doc)
2: {
3: using (new LogIndent (log.Info, "Load"))
4: {
5: if (doc == null)
6: {
7: log.Warn ("doc is null -- nothing to load");
8: return;
9: }
10:
11: if (log.IsDebugEnabled)
12: log.Debug ("doc=" + doc);
13:
14: try
15: {
16: XPathNavigator nav = doc.CreateNavigator ();
17: XPathNodeIterator iter = nav.Select ("[snip]");
18: if (iter != null)
19: {
20: while (iter.MoveNext())
21: {
22: Dump (iter.Current);
23:
24: string flowName;
25: flowName = iter.Current.GetAttribute (
26: "Name",
27: iter.Current.NamespaceURI);
I have a break point on line 3 which the debugger drops me off at. At each step I'm hitting F11 - Step Into. Here is what I see:
3: using (new LogIndent (log.Info, "Load"))
7: log.Warn ("doc is null -- nothing to load");
11: if (log.IsDebugEnabled)
Now when I step into I'm in the constructor for LogIndent that I should've hit first!?! If I continue a bit further:
12: log.Debug ("doc=" + doc);
22: Dump (iter.Current);
25: flowName = iter.Current.GetAttribute (
Here again
However, if I switch the assembly to an .EXE then everything behaves normally.
Is it me? Should I submit this to LadyBug? Ugh.
[Listening to: Eminem - Amityville]