Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.

printf() debug code

Skip to first unread message

Buzz McCool

Mar 10, 2020, 11:56:58 AM3/10/20
On 1/29/20 10:47 PM, Eli the Bearded wrote:
> The crud that clogs my crennelations is, I suspect, caked Bon Ami
> ("Hasn't Scratched Yet") which we use for various kitchen cleaning.
> Make a paste and mortar it in and that might work if the cable hack ever
> fails.

The above got me thinking about a better gas stove burner hack. I took
the smallest ring lug I had, stripped off the plastic collar, and then
put it in between the crenelations, like a cannon  poking out from a
castle. Bending over the ring further limits the natural gas while also
securing the smaller orifice in place. I sawed off the cannon tip to
make sure it wasn't too close to the spark igniter. Now the burner
lights on the very first spark of the built-in lighter.

On 1/29/20 10:47 PM, Eli the Bearded wrote:
> I like keeping notes along side source code. Things like a diff that
> adds a lot of printf() debugging code; ...


As far as printf() debugging code, I keep all code in one file and
separate the debug only portions with ifdefs. In my Makefile, I compile
"release" code in one directory for customers, and "debug" code for
internal debugging in another:

# Project Directories
RELDIR := release
DBGDIR := debug

# Executable
EXE := my_app


# Release compiler options
# -DNDEBUG  -> compiles "#ifdef NDEBUG" code
# -O3       -> Optimize executable to a very high level

# Debug compiler options
# -ggdb     -> Produce debugging information for use by the GNU Debugger
# -DDEBUG   -> compiles "#ifdef DEBUG" code
# -Og       -> Enable optimizations that do not interfere with debugging.
DBGC_OPTIONS :=  -ggdb

# Rules

# ### Rule to make release and debug executable and object files ###
.PHONY: all
all: release debug

release: $(RELEXE)

(RELC_OPTIONS used in here)

debug: $(DBGEXE)

(DBGC_OPTIONS used in here)


0 new messages