Debugging your code but accidentally stepping into framework methods like String.Format() or Linq internals? This wastes precious debugging time.
The Annoying Problem:
var users = GetUsers(); var result = users.Where(u => u.IsActive).ToList(); // Press F11 here // Debugger jumps into: // → Enumerable.cs (framework code) // → Buffer.cs // → List.cs // You just wanted to debug YOUR code, not .NET internals!
The Quick Fix:
Tools → Options → Debugging → General
✅ Enable: “Enable Just My Code”
Now F11 skips framework code and only steps through YOUR code!
Why This Matters:
Without “Just My Code”, debugging a simple LINQ query can take you through 50+ framework files. With it enabled, you stay in your codebase. The performance difference is massive:
// Without Just My Code: Step through 10 lines of your code = 120+ F11 presses (framework noise) Time wasted: 5-10 minutes per debug session // With Just My Code: Step through 10 lines of your code = 10 F11 presses Time saved: 90% of debugging time
Advanced: Exclude Specific Assemblies
Create a .vstconfig file in your solution:
<?xml version="1.0" encoding="utf-8"?>
<Configuration>
<JustMyCode>
<Exclude>
<ModuleName>Newtonsoft.Json.dll</ModuleName>
<ModuleName>EntityFramework.dll</ModuleName>
</Exclude>
</JustMyCode>
</Configuration>
This skips third-party libraries too!
Bonus Tip – Step Over Properties:
Tools → Options → Debugging → General
✅ Enable: “Step over properties and operators”
// Without this setting: var name = user.FirstName; // F11 steps INTO the property getter // With this setting: var name = user.FirstName; // F11 goes to next line (skips property)
When You DO Want Framework Source:
Sometimes you need to debug framework code. Temporarily disable:
Debug → Options → Deselect “Enable Just My Code”
Or right-click in call stack → “Show External Code”
Performance Impact:
Typical debugging session before: 15 minutes stepping through noise
After enabling these settings: 3 minutes focused debugging
= 80% time savings!
