C# – Why can’t I step into this line

.netc++

Math.Sign(int.MaxValue);

I hit F11 to step into it and it steps right over it. I have all the options set for debugging .NET framework source (I think).

Edit: for someone with Visual Studio 2008 SP1 and .NET 3.5 SP1 who can step into this line successfully: what is the size of your .pdb file?

Edit 2: because I can successfully step into System.Windows.Forms, I'm fairly certain I have a corrupted symbol cache, but every time I try to reload the symbols, it re-downloads as only 763KiB.

Edit 3: Is it possible that it I can't step into System.Math.Sign because System.Math source code simply isn't released/available?

Best Solution

You need to load the symbols for mscorlib.dll first.

Click Debug, Windows, Modules, then right-click on mscorlib.dll and click Load Symbols.

Then, try again. FYI, the simplest way to make sure that .Net source debugging is working is to try to view the source of a method in your call stack.