Chris Smith wrote [2012-01-16 13:21+0100]: > Are there any dynamic or static C code analysis tools available for > OpenBSD? [swoosh]
You may try llvm from packages, it aims to have a good analyzer. lint(1) is in base. > I'd still like to be able to check that I've not made any > hideous cock-ups in my code. You may do manual code adjustments, as in ret fun(args) { var; nyd_enter; [non_crashing_]asserts[_jumps]; [nyd wherever] jleave: nyd_leave; return; } and then define the nyd_* series to something useful (not-yet-dead peeps or collection of profiling info, as desired). This works for many years quite well for me (userland). > A few minutes of poking around the Internet returned nothing useful > unfortunately. Well, if you're running Xorg(1), xeyes(1) may help you to do the job if you're happily distracted (due to whatever reasons). > Best Regards, Otherwise the usual rules may help you: - make functions as small as possible (much less than a screenful of lines), - place useful comments in the code, - implement tests for all possible and impossible usage cases (easily possible with non-crashing assertions) - ask yourself with all possible seriousness why you can't wait for C 2015 which will finally introduce a garbage collector, instead of manually fooling around with memory pointers today! Until then malloc(3) and its MALLOC_OPTIONS may help you a bit, too. - And always revisit your code some time after you have forgotten what it is for; may you never have the material pressure to release it at an earlier time. > Chris Smith May the juice be with you. --steffen