3 ms·
Got my start with C via Linux kernel hacking in the 90s. It's practical so that's where I would recommend. (or a BSD kernel which are often better organized).
by krnlclnl 10mo ago
Got my start with C via Linux kernel hacking in the 90s. It's practical so that's where I would recommend. (or a BSD kernel which are often better organized).
With ~17 years of experience already, start with the study of the structure of C programs. Recreate some of it manually, build it, and research the things that do not behave as expected.
Bonus of using an open source kernel is they have a lot of eyeballs on them. They will be pretty dialed in versus studying random Github projects that happen to be written in C.
Would recommend avoiding cognitive overload, wait until you get into comfortable flow writing, building, fixing as needed, simple programs before you dive into lower level debugging, trying to grasp assembly structures that a compiler spits out.
- dabockster 10mo agoHonestly, they shouldn't even need to touch a debugger if they're able to reasonably manage their memory "well enough". Like in general. I'd only touch a debugger myself if I knew I was dealing with a memory problem.
- krnlclnl 10mo agoOverall I agree. But in the early learning stages, getting used to interacting with and interpreting the debugger is useful. So when it is essential to resolving an issue, they don't get off in the weeds figuring it all out.