-
Notifications
You must be signed in to change notification settings - Fork 106
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
"Unverified Breakpoint" #40
Comments
netcoredbg sources was updated. Could you please check it? |
Same issue here when trying to setup the debugger. It is run with OS: Windows 10
|
I believe, debugger will never find source file with path |
@viewizard thanks for the response. The |
As I mentioned before, you should use same path as stored in PDB with same delimiters. Debugger will not analyze path, detect delimiters changes or anything else during breakpoint resolving. If path you provide not equal to stored in PDB - breakpoint resolving will be fail all the time. |
I seem to have a related/the same issue. Basically, setting a breakpoint with a full path does not trigger. I found a workaround which is to use only the filename rather than a full path in the setBreakpoint DAP request. I am not sure if there is an issue with netcoredbg or something is going wrong (configured wrong in my build?) since the PDB file references does not include full filepaths. More info here. |
Please, provide PDB you are using and vscode interuction log (looks like log from #40 (comment)) during breakpoint setup fail with full path. Note, on Windows debugger use case sensitive path checks, that mean in case you setup breakpoint with full path to souces, you should use same path as stored in PDB with same delimiters and characters. |
Hi, will do. So I made a quite minimal repro-project on dotnet 6. These are my versions:
The project I suppose is more for curiosity, I put the pdb in the repro arhive along with the logs and the debugged dll. I would like to take the chance to say thanks for a great project, it does allow me to use Neovim exclusively for my day to day coding! PS. In regard to path case it seems to have no effect when I lowercase the whole path. It is one of the things I tried leading up to nvim-dap workaround. #16 claims to have changed this behaviour for Windows. DS. |
Thanks for having a look. So I switched to use native (windows backslash) path separators in the debug adapter and that actually does set & trigger the breakpoints even while including the full path. Unfortunately I had a look at the DAP spec, it mentions as expected that the source path value About the WindowsUser in the path, it is actually not the real string since I masked it for public github. I suppose this file is only valid on the system where the debug build was created since paths are either absolute or filename-only. Something that is curious to me is that in the pdb file, the Anyway, here is the log of a successful debug run with native path references used: Finally, if I could include a setting in the launch request to make |
I am sure, Plus, we don't have it implemented: netcoredbg/src/protocols/vscodeprotocol.cpp Lines 469 to 474 in aafa6f3
Note, debugger don't modify sources full path (don't change delimiters or characters) related to breakpoint setup or PDB and internal logic use hashes of this full paths for fast search inside internal structures. Debugger expect, that "machine" oriented VSCode and MI protocols requests from IDE/plugins will provide proper data, same as DLL/PDB have storred, that they just created and started to debug. |
I am running in the same issue but it does not seem to be related to the path. |
@Rekwass please try to check the same breakpoint in CLI mode with the same environment (dlls, pdbs, etc), to check whether breakpoint will be resolved or not |
I tried to run in CLI mode as follows: /path/to/netcoredbg --interpreter=cli -- /path/to/dotnet /path/to/bin/Debug/net8.0/testDap.dll When setting a breakpoint I end up with the following error: ncdb> break Program.cs:2
Breakpoint 1 at Program.cs:2 --pending, warning: No executable code of the debugger's target code type is associated with this line. I build the project from CLI with An most importantly, everytime I enter ncdb> run
[1] 26871 segmentation fault /path/to/netcoredbg --interpreter=cli -- I am on MacOS Sequoia 15.0 M1. This might be the cause of the issue. Output of .NET Core debugger 3.1.1-1 (3.1.1-1)
Build info:
Build type: Release
Build date: Aug 29 2024 13:21:37
Target OS: Darwin
Target arch: x64
Hostname: SRRs-Mac-mini.local
NetcoreDBG VCS info: 227be44
CoreCLR VCS info: d40f32d I also tried to run the tests locally, the result are: **CLITestBreakpoint ... failed res=1**
MIExampleTest ... failed res=131
**MITestBreakpoint ... failed res=131**
MITestExpression ... failed res=131
MITestVariables ... failed res=131
MITestStepping ... failed res=131
MITestEvaluate ... failed res=131
MITestException ... failed res=131
MITestEnv ... failed res=131
MITestGDB ... failed res=131
MITestExecAbort ... failed res=131
MITestExecInt ... failed res=131
MITestHandshake ... failed res=131
MITestTarget ... failed res=131
**MITestExceptionBreakpoint ... failed res=131**
MITestExtensionMethods ... failed res=131
MITestExitCode ... failed res=131
MITestEvalNotEnglish ... failed res=131
MITest中文目录 ... failed res=131
**MITestSrcBreakpointResolve ... failed res=131**
MITestEnum ... failed res=131
MITestAsyncStepping ... failed res=131
**MITestBreak ... failed res=131**
**MITestBreakpointToModule ... failed res=131**
MITestNoJMCNoFilterStepping ... failed res=131
**MITestNoJMCBreakpoint ... failed res=131**
MITestNoJMCAsyncStepping ... failed res=131
**MITestNoJMCExceptionBreakpoint ... failed res=131**
MITestSizeof ... failed res=131
MITestAsyncLambdaEvaluate ... failed res=131
MITestGeneric ... failed res=131
MITestEvalArraysIndexers ... failed res=131
**MITestBreakpointWithoutStop ... failed res=131**
**MITestBreakpointUpdate ... failed res=131**
VSCodeExampleTest ... failed res=131
**VSCodeTestBreakpoint ... failed res=131**
VSCodeTestFuncBreak ... failed res=131
VSCodeTestAttach ... failed res=131
VSCodeTestPause ... failed res=131
VSCodeTestDisconnect ... failed res=131
VSCodeTestThreads ... failed res=131
VSCodeTestVariables ... failed res=131
VSCodeTestEvaluate ... failed res=131
VSCodeTestStepping ... failed res=131
VSCodeTestEnv ... failed res=131
VSCodeTestExitCode ... failed res=131
VSCodeTestEvalNotEnglish ... failed res=131
VSCodeTest中文目录 ... failed res=131
**VSCodeTestSrcBreakpointResolve ... failed res=131**
VSCodeTestEnum ... failed res=131
VSCodeTestAsyncStepping ... failed res=131
**VSCodeTestBreak ... failed res=131**
VSCodeTestNoJMCNoFilterStepping ... failed res=131
**VSCodeTestNoJMCBreakpoint ... failed res=131**
VSCodeTestNoJMCAsyncStepping ... failed res=131
**VSCodeTestExceptionBreakpoint ... failed res=131**
**VSCodeTestNoJMCExceptionBreakpoint ... failed res=131**
VSCodeTestSizeof ... failed res=131
VSCodeTestAsyncLambdaEvaluate ... failed res=131
VSCodeTestGeneric ... failed res=131
VSCodeTestEvalArraysIndexers ... failed res=131
VSCodeTestExtensionMethods ... failed res=131
**VSCodeTestBreakpointWithoutStop ... failed res=131**
Total tests: 63. Passed: 0. Failed: 63. Unsurprisingly, many breakpoint tests have failed If there is anything I can do let me know |
Just a note, this is not needed to resolve breakpoints. This is needed, for example, for
This is strange. Does your test program work without debugger? If this is a segfault in runtime itself, then there's smth wrong with your setup (or with test program itself). Did you install runtime from package or built it yourself? If you built runtime yourself, it's worth to run coreclr tests. If this is a segfault in netcoredbg, please try to attach with gdb/lldb to it and share a backtrace.
You can also try arm64 macOS builds of netcoredbg, maybe this will help. But please note that osx arm64 is now a community supported architecture. There're some builds provided by community, and you can also build from source, see #102 and #103 for more details. |
Silly me,
No it does not, I always end up segfaulting.
I installed from package, which installed the The program itself is a fresh I reinstalled .NET Runtime, CoreCLR and SDK and rebuild from the latest release and it worked. Thank you |
Hello,
I am having this weird issue with vscodium where I get breakpoints to break because they are listed as "unverified". The debugger stops itself in a line where intentional exception is thrown. I can start debugging the application from this point on step by step, and as I move to new files, I can set valid breakpoints as long as the debugger is in the same file as the breakpoints. I wonder what is going on here?
The text was updated successfully, but these errors were encountered: