-
Notifications
You must be signed in to change notification settings - Fork 105
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
exception-breakpoints: allow filtering out 'internal' excetpions #126
Comments
We keep same default behaviour as MS debuggers. Is vsdbg behaviour was changed? Probably, since this should work for all protocols, make it with |
@viewizard can you share some details about what could go wrong? I'm starting to get into the codebase and I'd love to hear about all these edge cases. Thanks! I mean, each exception starts with |
That was about 3 years ago when I refactor exception breakpoints, and this case was not even analyzed carefully (since we decided to skip it from implementation at early stage). Unfortunately, I have nothing to add to my previous post now.
This is not so simple. :-) netcoredbg/src/debugger/breakpoints_exception.cpp Lines 329 to 360 in db69338
In short: exception could start with DEBUG_EXCEPTION_FIRST_CHANCE , DEBUG_EXCEPTION_USER_FIRST_CHANCE or DEBUG_EXCEPTION_UNHANDLED . Only in case first (start) exception callback call you could get initial exception related data (sure, this also could be done with evaluation of exception managed object if... if you able to evaluate(execute managed code of property), that could be not possilbe in case of internal runtime fail or some GC related state that will prevent evaluation on thread with exception).
|
Hey,
We've noticed that when 'all' is selected from ['all', 'user-unhandled'] in vscode exceptions, then it also breaks on exceptions which their entire path ('throw' to the handler) is internal to libs, which lead to some noise when debugging.
I'd like to add the ability to filter those out, probably by calling
EnableExceptionCallbacksOutsideOfMyCode(false)
. Should it be default in vscode's"all"
, or maybe a new option? I'm not sure. Any ideas?docs: https://learn.microsoft.com/en-us/dotnet/framework/unmanaged-api/debugging/icordebugprocess8-enableexceptioncallbacksoutsideofmycode-method#syntax
Also, I already found a reference in a code comment - https://github.com/rafttio/netcoredbg/blob/8c14d48c49800f47d0297c90ece004e45ac3533d/src/debugger/breakpoints_exception.cpp#L333
I'm not sure if there's any reasoning behind it not being supported at the moment.
The text was updated successfully, but these errors were encountered: