• Strykker@programming.dev
    link
    fedilink
    arrow-up
    139
    arrow-down
    1
    ·
    10 months ago

    Except the C++ “Core dumped” line is telling you it just wrote a file out with the full state of the program at the time of the crash, you can load it up and see where it crashed and then go and look at what every local variable was at the time of the crash.

    Pretty sure you can even step backwards in time with a good debugger to find out exactly how you got to the state you’re currently in.

              • inetknght@lemmy.ml
                link
                fedilink
                arrow-up
                5
                ·
                10 months ago

                …unless you build the executable with optimizations that remove the stack frame. Good luck debugging that sucker!

              • TarantulaFudge@lemmy.ml
                link
                fedilink
                arrow-up
                5
                ·
                10 months ago

                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.

              • TangledHyphae@lemmy.world
                link
                fedilink
                arrow-up
                2
                ·
                10 months ago

                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.

          • current@lemmy.ml
            link
            fedilink
            arrow-up
            9
            arrow-down
            9
            ·
            10 months ago

            i mean you’re expected to know the basic functioning of the compiler when you use it

          • ysjet@lemmy.world
            link
            fedilink
            English
            arrow-up
            9
            arrow-down
            17
            ·
            10 months ago

            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.

            • Russ@bitforged.space
              link
              fedilink
              English
              arrow-up
              11
              arrow-down
              1
              ·
              10 months ago

              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.

              • ysjet@lemmy.world
                link
                fedilink
                English
                arrow-up
                11
                ·
                edit-2
                10 months ago

                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.