How do I trace an assembler file in avr-gdb?
When using the -g compiler option, avr-gcc only generates line number and other debug information for C (and C++) files that pass the compiler. Functions that don’t have line number information will be completely skipped by a single step command in gdb. This includes functions linked from a standard library, but by default also functions defined in an assembler source file, since the -g compiler switch does not apply to the assembler. So in order to debug an assembler input file (possibly one that has to be passed through the C preprocessor), it’s the assembler that needs to be told to include line-number information into the output file. (Other debug information like data types and variable allocation cannot be generated, since unlike a compiler, the assembler basically doesn’t know about this.) This is done using the (GNU) assembler option –gstabs.