VSCode Version: 1.5.3
OS Version: Win10
Steps to Reproduce:
Create an .exe that uses mixed case filenames. i.e. Source.cpp
Add a breakpoint to Source.cpp
Debug and hit the breakpoint
The editor will open up source.cpp alongside Source.cpp. The arrow pointing to the current line is in source.cpp, the breakpoints are in Source.cpp. It's pretty confusing. Both files can have their own sets of breakpoints now.
@dclarkNV, are you using mingw, Cygwin, or the Microsoft build tools?
Microsoft build tools (cppvsdbg)
@dclarkNV, then I have to ask a follow-up. Are you cloning a repository from git or something like that? It is normally difficult to get yourself into this situation on Windows because file names are not case sensitive. For example, if you attempt to create two files "source.cpp" and "Source.cpp" in the same location, Windows won't let you do that.
Let me clarify: There is no source.cpp, there is only Source.cpp.
However, when the debugger breaks on a line in Source.cpp, the editor opens up a new tab called "source.cpp". Now there are two tabs open, source.cpp and Source.cpp referring to the same file. They both appear to have their own separate set of breakpoints.
@weinand, it seems that this might be a bug in code, not in our debugger. Essentially, we are reporting to vscode that it should open a file, and vscode is not correctly discerning that the file is already opened.
Relevant closed bug in code https://github.com/Microsoft/vscode/issues/12922
I'm reopening Microsoft/vscode#12922. I don't think that this is an issue with the debugger. It seems more like an issue with the editor.
This is fixed in the latest release (0.14.1)
Most helpful comment
Let me clarify: There is no source.cpp, there is only Source.cpp.
However, when the debugger breaks on a line in Source.cpp, the editor opens up a new tab called "source.cpp". Now there are two tabs open, source.cpp and Source.cpp referring to the same file. They both appear to have their own separate set of breakpoints.