I wish to know how exactly the Debug kernel gets
differentiated from Normal Kernel.

More specifically, While compiling Debug kernel what happpens?

I have this question bcoz of a critical problem we are facing with a
Network driver.

The Network driver works well with the Debug Kernel but it crashes with
the Normal kernel.
It crashes with the error: Unaligned program counter 00e0.

This is not happening with the Debug Kernel. It works fine.
So, I wish to know how exactly Debug kernel is built.( so that there is
not unalignment problem)

Any hints or suggestions for fixing this problem.