cuda-gdb cannot set break point in device function defined in a header(.h) file

When I tried to set break point in device function defined in a header(.h) file in cuda-gdb using
(cuda-gdb) break a.h:10
I got
(cuda-gdb) No source file named a.h

However, I can set break point in host function defined in a header(.h) file, as well as set break point in device function defined in a source(.cpp) file.

Here is how I compiled the source code:

nvcc -g -G -Xcompiler -rdynamic -x cu a.cpp

And a.h is included in a.cpp, i.e. #include “a.h”

May I know if I did something wrong?

FYI, CUDA installed on my server is CUDA 10.0.130. Device capability is 7.0. The OS is CentOS Linux release 7.6.1810, and the kernel version is 3.10.0-957.el7.x86_64.

Since no one has replied so far, here is what I do as a workaround. I first set a break point in host code right before calling this device function in device code. When cuda-gdb stops there, I step into this device function in cuda-gdb, after that, I can set a break point in this device function in the header file.

Not sure if this is a cuda-gdb bug. Hope this is useful for anyone.