Description
Link to the code that reproduces this issue
https://github.com/bernatfortet/reproduction-app
Describe the bug
VS Code debugging behaves inconsitently and triggers breakpoints on the wrong parts of the codease
To Reproduce
Steps to reproduce the behavior:
- create a new next.js repo, with all the default settings. Make sure you're using turborepo (`"dev": "next dev --turbopack")
- Create a
.vscode/launch.json
file and add what the Guides: Debugging page mentions to use for debugging with next.js - In
src/app/page.tsx
add a console log right below the Home function:
export default function Home() {
console.log(`test`)
...
- Add a breakpoint to the console log
- Refresh
Behavior 1:
- Breakpoint works well, I click continue and it's fine.
- But if I change the text in the console it trigger behavior 2
Behavior 2:
- After reloading
- Breakpoint works well
- But when I "Continue" executing the code


- After the breakpoint has been set, refreshing the page doesn't trigger anything.
- (is this because of caching?
Additional context
- Something tells me it's something related to this: https://github.com/microsoft/vscode-js-debug/pull/2223/files
- Or this: https://github.com/vercel/next.js/pull/76559/files#diff-bd5430ee7c51dc892a67b3f2829d1f5b6d223f0fd48b82322cfd45baf9f5e945
- other context here: [Windows] Server-side debugger doesn't stop in breakpoints after v15.0.3-canary.7 vercel/next.js#73214 (comment)
- this happens on canary as well
^15.4.0-canary.43
Log File
runtime.launch Bootloader imported {
env: {
inspectorIpc: '/var/folders/zp/nx4wzk257jvb767h12bt4tk80000gn/T/node-cdp.55130-15376e02-14.sock',
deferredMode: false,
waitForDebugger: '',
execPath: '/opt/homebrew/bin/node',
onlyEntrypoint: false,
verbose: true,
autoAttachMode: 'always',
fileCallback: '/var/folders/zp/nx4wzk257jvb767h12bt4tk80000gn/T/node-debug-callback-835dd2d65d017d8f'
},
args: [
'/opt/homebrew/Cellar/node/23.3.0/bin/node',
'/opt/homebrew/bin/npm',
'run',
'dev'
]
}
runtime Set debug mode { mode: 0 }
Debugger attached.
[email protected] dev
next dev --turbopack
runtime.launch Bootloader imported {
env: {
inspectorIpc: '/var/folders/zp/nx4wzk257jvb767h12bt4tk80000gn/T/node-cdp.55130-15376e02-14.sock',
deferredMode: false,
waitForDebugger: '',
execPath: '/opt/homebrew/bin/node',
onlyEntrypoint: false,
verbose: true,
autoAttachMode: 'always',
openerId: 'b9689062598f7cec1a774338'
},
args: [
'/opt/homebrew/Cellar/node/23.3.0/bin/node',
'/Users/bernat/Desktop/my-app/node_modules/.bin/next',
'dev',
'--turbopack'
]
}
runtime Set debug mode { mode: 0 }
Debugger attached.
runtime.launch Bootloader imported {
env: {
inspectorIpc: '/var/folders/zp/nx4wzk257jvb767h12bt4tk80000gn/T/node-cdp.55130-15376e02-14.sock',
deferredMode: false,
waitForDebugger: '',
execPath: '/opt/homebrew/bin/node',
onlyEntrypoint: false,
verbose: true,
autoAttachMode: 'always',
openerId: 'c7ecd2f4d7847e040b3fe8e3'
},
args: [
'/opt/homebrew/Cellar/node/23.3.0/bin/node',
'/Users/bernat/Desktop/my-app/node_modules/next/dist/server/lib/start-server.js'
]
}
runtime Set debug mode { mode: 0 }
Debugger attached.
▲ Next.js 15.3.2 (Turbopack)
- Local: http://localhost:3000
- Network: http://192.168.4.42:3000
✓ Starting...
✓ Ready in 963ms
VS Code Version: Replace me!
Cursor Version: 0.50.5
VSCode Version: 1.96.2