Can you debug kernel code in gdb?

I have a kernel code that I am debugging and would like to know if it’s possible to step through it for functional testing.

I compiled the code with the nvcc flags

I also tried changing the device debug level to 3. When I use gdb , I can step up to the kernel call. I tried setting a breakpoint inside the kernel code but it is never reached. The gdb program reports new threads are created when it steps over that line.

Is there a way I can actually step into the kernel call?

UPDATED: I made a C version of the CUDA code to debug functionally. I can do a single instruction step in the kernel code, however all I can look at is the assembly not the C/CUDA source code.