Comments (2)
The default breakpoints for unrecovered panics and fatal errors aren't special they can be disabled (with toggle/AmendBreakpoint) or removed (clear/RemoveBreakpoint) like any other breakpoint.
It seems a pretty niche feature request, to me, for someone to want to debug a program but also be completely uninterested in actually investigating unrecovered panics (and that these happen often enough that it is inconvenient).
DAP already has an option (noDebug) to launch the program disabling the debugger.
The fact that JetBrains has a feature request for this but they haven't implemented it is further evidence that this feature is requested only rarely.
Furthermore we are probably not going to add an option to disable the creation of these breakpoints on startups even on headless mode.
Because of the above reasons, I don't think we should do this.
from delve.
@aarzilli
Summary:
In headless mode, with no active connections, delve produces no output whatsoever that it has paused on a panic breakpoint. This has caused a headache for our development environment.
Proposed change:
If delve server is running headless and has no active connections, please do NOT pause execution on the panic.
Details:
We run our software suite in tilt to closely represent a production environment, with the addition of compiling the binaries with symbols and attaching a delve headless server onto the process.
Developers (mainly running Jetbrains Goland), can debug their tasks by connecting to delve using the UI.
If they hit a panic and are not currently connected to the delve server (because they are not debugging, this is an unexpected panic), delve hits the startpanic breakpoint, stopping the process from even logging anything. Leaving the dev with no idea what's going on, and having to manually kill the container. Often brushing it off as a dev environment problem.
The only way to get the output is to attempt to connect to delve, which immediately skips the breakpoint, logs the panic, and restarts the container anyway.
I appreciate there may be some way to get Jetbrains to actually stop (looking for stopOnEntry
equivalent for jetbrains, no luck so far), but we still wouldn't be aware that it had actually paused execution.
EDIT: related #3469, #3632 seems to be pretty close to what we're looking for
from delve.
Related Issues (20)
- polish go1.23 range-over-func UX HOT 1
- Does delve ignore // line instructions during debug HOT 1
- Breakpoints do not work in packages with a TestMain(*testing.M) function HOT 1
- Unable to print a package string const value during a breakpoint HOT 1
- Error clearing stack watchpoint HOT 2
- Add defer functions to follow-calls tracing option
- Breakpoint line numbers not matching HOT 1
- Hitting compile error when launching delve in devbox HOT 4
- `undefined behavior - version of Delve is too old for Go version 1.22.3 (maximum supported version 1.20)` HOT 2
- trace: allow tracing from (or skip tracing on) G-less threads
- panic when data length is greater than memCache size
- Unable to find escape variables when using Delve HOT 7
- Fail to set watchpoint after clearing one of four HOT 3
- Dwarf parsing infinite loop causes OOM HOT 1
- Feature request: restart the current function HOT 6
- Seeing a warning that delve is too old for the latest Go version 1.22.5 HOT 1
- align the output of vars with 'expresson' spec
- Delve Fails to Locate Source Files Across All Projects on Apple M1 Pro (macOS) with "no source available" Error HOT 1
- Improper string representation of Google uuid.UUID type HOT 1
- Inconsistent go and delve expression results
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from delve.