VS debugger won't step into XML deserializer constructor
===

**Background**

I have a class that serializes to an XML file so users can change some startup settings. The class has an enum and I want the deserializer to accept either the name or int value as valid.

    protected MyClass(SerializationInfo info, StreamingContext context) {
      // want to Step Into  right here
      try {
        logLevel = (Logger.Level)info.GetValue("LogLevel", typeof(Logger.Level));
      }
      catch(Exception) {
        logLevel = (Logger.Level)info.GetValue("LogLevel", typeof(Int32));
      }
      …

It's not working, the XML deserialize() still throws an exception complaining than '0' or '1' etc. is not a valid value for that type. So naturally I try to debug via *Step Into* (F11) the line `MyClass mc = (MyClass)xmlSerializer.Deserialize(filepath);`

***Step Into***  **Not Going to Expected Code**

But the next line Visual Studio jumps to is the beginning of the class' *default* constructor MyClass(), instead of MyClass(SerializationInfo, StreamingContext) !!

So I F11 through that constructor (it assigns default values that have nothing to do with the XML file and as far as I know should not have been called at all) and when it jumps out of the constructor I land at the exception as before—apparently without ever having run through the deserialization code I wrote.

I even tried putting a `System.Diagnostics.Debugger.Launch()` or `.Break()` at the beginning of the code I want to debug through, and Visual Studio 2010 just ignores it.

Is there something about deserialization constructors that Visual Studio can't or won't trace through them, or what's the deal?