I love gdb! I recently had to do a debug and wow its so cool! On gentoo I can compile everything with symbols and source and can do a complete stack trace.
Am I the only one in this thread who uses VSCode + GDB together? The inspection panes and ability to breakpoint and hover over variables to drill down in them is just great, seems like everyone should set up their own c_cpp_properties.json && tasks.json files and give it a try.
It intentionally acts as an intercept for such things, so that core dumps can be nicely packaged up and sent to maintainers in a GUI-friendly way so maintainers can get valuable debugging information even from non-tech-savvy users. If you’re running something on the terminal, it won’t be intercepted and the core dump will be put in the working directory of the binary, but if you executed it through the GUI it will.
Assuming, of course, you turn crash interception on- it’s off by default since it might contain sensitive info. Apport itself is always on and running to handle Ubuntu errors, but the crash interception needs enabled.
Where does it write the file
Nobody knows
Probably the same place as failed sudo reports
On a secret FBI server somewhere where they watch your failures and laugh
When you apply for a home loan or a passport:
“Unfortunately we will have to reject your application”
“Why?”
“We have received several reports of failed sudo attempts and segmentation faults”
I believe it’s
/var/lib/apport/coredump
on Ubuntu.imagine if it, like, told you this so you didn’t have to find out about it via a post on lemmy
imagine if it like, read that file and gave you a stack trace
gdb gives you waaaaaaaaaaaaaaay more than a stack trace.
…unless you build the executable with optimizations that remove the stack frame. Good luck debugging that sucker!
I love gdb! I recently had to do a debug and wow its so cool! On gentoo I can compile everything with symbols and source and can do a complete stack trace.
Am I the only one in this thread who uses VSCode + GDB together? The inspection panes and ability to breakpoint and hover over variables to drill down in them is just great, seems like everyone should set up their own c_cpp_properties.json && tasks.json files and give it a try.
Imagine if you knew the most basic foundational features of the language you were using.
Next we’ll teach you about this neat thing called the compiler.
I’m not a C/C++ dev, but isn’t
apport
Ubuntu’s crash reporter? Why would dumps be going into there?Though on a rhetorical thought, I am aware of systemd’s
coredumptctl
so perhaps its collecting dumps the same way systemd does.https://wiki.ubuntu.com/Apport
It intentionally acts as an intercept for such things, so that core dumps can be nicely packaged up and sent to maintainers in a GUI-friendly way so maintainers can get valuable debugging information even from non-tech-savvy users. If you’re running something on the terminal, it won’t be intercepted and the core dump will be put in the working directory of the binary, but if you executed it through the GUI it will.
Assuming, of course, you turn crash interception on- it’s off by default since it might contain sensitive info. Apport itself is always on and running to handle Ubuntu errors, but the crash interception needs enabled.
Ah I see, that’s actually pretty cool - thanks!
np
i mean you’re expected to know the basic functioning of the compiler when you use it
you can set it
tl;dw: writes to the path in
/proc/sys/kernel/core_pattern
If you are using systemd, there’s a tool called coredumpctl.