Skip to content

step_into/step_out report incorrect currentLine and currentLineContent #82

@mikejohnstonPremierinc

Description

@mikejohnstonPremierinc

Description

The step_into and step_out tools report stale or incorrect values for currentLine and currentLineContent in their responses. The reported position does not match where the debugger actually stopped.

Steps to Reproduce

  1. Set a breakpoint on a line that calls a method (e.g., line 21: int result = Add(a, b);)
  2. Start debugging a .NET console app via start_debugging
  3. Hit the breakpoint (confirmed at line 21)
  4. Call step_into

Expected: Response shows currentLine pointing to the first line inside the Add() method (e.g., line 8: return x + y;)

Actual: Response shows currentLine: 21 (the call site, not the stepped-into location). However, get_variables_values correctly shows the parameters of Add() (x, y), confirming the debugger DID step into the method.

Observed Pattern

Tool Position Reported Variables Reported Actual Location
step_into Call site (stale) Correct (target method params) Inside target method
step_out Inside method (stale) Correct (caller's locals) Back in caller
step_over Usually correct Correct Next line

The position appears to be "one step behind" - reporting where the debugger WAS, not where it IS after the step completed.

Workaround

Always call get_variables_values after stepping to determine the true execution state. The variables are always accurate and reflect the actual paused location.

Impact

AI agents that rely on currentLine to build a mental model of execution flow will have an incorrect picture, potentially leading to confused reasoning about program state.

Environment

  • DebugMCP v1.1.4
  • .NET 9.0 console app (coreclr)
  • VS Code stable (latest)
  • C# extension: ms-dotnettools.csharp-2.140.8-win32-x64

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions