JavaScript:
error: undefined is undefined
or some nonsense like that. Sorry to repeat the old JavaScript bad, but I really hate debugging JavaScript![object Object]
My favorite error! I saw that so many times it stopped surprising me lol
Meanwhile Rust: you might get an error at line 45 word 3 because it assumes variable foo is an int32 but it could be (whatever else idk), let’s not compile this before you correct this by changing line 43 in this specific way. Here’s the before and after code snippets so you can just copy-paste the fix.
Someone needs to be introduced to gdb…
have fun without those debug symbols
Why wouldn’t I have debug symbols in the software I’m developing?
And what happens when you release it?
If you want the same traces as Java and python in the meme, you leave them, if you don’t you strip them. Or you ship them separately. You decide, like a big boy.
Have the user compile it without debug symbols to save space. If the user has a problem they can just recompile it with debug symbols and see what went wrong with gdb.
And C/C++ are like that by design. Compiled languages were new and the developers were afraid additional checks would decrease performance. It was certainly performant in racing toward a crash.
It’s been a minute since I used C/Cpp but if you compile with debugging symbols and using gdb give you info like in Java? At least the location of the crash.
And much more, it tells you each operation it goes through, where it is in the code, what’s in the registers and more.
And then you realise the program doesn’t crash when compiling with debug symbols 😢
That’s when you break out valgrind because you certainly are using uninitialized memory.
Then it’s time to have a closer look at how your concurrent threads are behaving and where you missed a sync point or mutex.
The code editor I had to use for Java once didn’t give me anything like that.
Meanwhile for C you can just use gdb, it’s great!
But it returned 139! That’s a start even without a debugger!
but with a core dump you can just load it up and see the state of the process when it crashed…
I’m trying to remember the last time I actually had a core file. I think core dumps have been disabled by default on Linux since at least 2000.
They are stored in the system log and thus rotated automatically to save storage. At least in Arch.
I use Arch, BTW.
👀