Skip to content

Bits of .NET

Daily micro-tips for C#, SQL, performance, and scalable backend engineering.

  • Asp.Net Core
  • C#
  • SQL
  • JavaScript
  • CSS
  • About
  • ErcanOPAK.com
  • No Access
  • Privacy Policy
Visual Studio

Visual Studio: Stop Debugger from Stepping Into .NET Framework Source Code

- 03.02.26 - ErcanOPAK

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!

Related posts:

Visual Studio — Build Is Slow Because of File Watchers

Visual Studio — CPU Spikes Caused by Live Analysis

Visual Studio Builds Succeed but Runtime Crashes

Post Views: 3

Post navigation

HTML5 Web Workers: Run JavaScript in Background Thread Without Freezing UI
Photoshop: Batch Resize 1000 Images in 30 Seconds Without Actions

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

February 2026
M T W T F S S
 1
2345678
9101112131415
16171819202122
232425262728  
« Jan    

Most Viewed Posts

  • Get the User Name and Domain Name from an Email Address in SQL (935)
  • How to add default value for Entity Framework migrations for DateTime and Bool (831)
  • Get the First and Last Word from a String or Sentence in SQL (825)
  • How to select distinct rows in a datatable in C# (799)
  • How to make theater mode the default for Youtube (714)
  • Add Constraint to SQL Table to ensure email contains @ (573)
  • How to enable, disable and check if Service Broker is enabled on a database in SQL Server (552)
  • Average of all values in a column that are not zero in SQL (519)
  • How to use Map Mode for Vertical Scroll Mode in Visual Studio (474)
  • Find numbers with more than two decimal places in SQL (436)

Recent Posts

  • C#: Use ArgumentNullException.ThrowIfNull for Cleaner Validation
  • C#: Use Discard Pattern to Ignore Unwanted Values
  • C#: Use Deconstruction with Tuples for Cleaner Multiple Returns
  • C#: Use File-Scoped Types to Limit Class Visibility
  • SQL: Use PIVOT to Transform Rows into Columns
  • SQL: Use MERGE OUTPUT to Track What Changed During Upsert
  • .NET Core: Use Polly for Resilient HTTP Requests with Retry Logic
  • .NET Core: Use Dapper for Lightweight ORM Alternative to Entity Framework
  • Git: Use git sparse-checkout to Clone Only Specific Folders
  • Git: Use git switch and git restore Instead of Confusing git checkout

Most Viewed Posts

  • Get the User Name and Domain Name from an Email Address in SQL (935)
  • How to add default value for Entity Framework migrations for DateTime and Bool (831)
  • Get the First and Last Word from a String or Sentence in SQL (825)
  • How to select distinct rows in a datatable in C# (799)
  • How to make theater mode the default for Youtube (714)

Recent Posts

  • C#: Use ArgumentNullException.ThrowIfNull for Cleaner Validation
  • C#: Use Discard Pattern to Ignore Unwanted Values
  • C#: Use Deconstruction with Tuples for Cleaner Multiple Returns
  • C#: Use File-Scoped Types to Limit Class Visibility
  • SQL: Use PIVOT to Transform Rows into Columns

Social

  • ErcanOPAK.com
  • GoodReads
  • LetterBoxD
  • Linkedin
  • The Blog
  • Twitter
© 2026 Bits of .NET | Built with Xblog Plus free WordPress theme by wpthemespace.com