C++ 当检测到Cuda API错误时,如何查找程序在何处崩溃:cudaMemcpy返回(0xb)

C++ 当检测到Cuda API错误时,如何查找程序在何处崩溃:cudaMemcpy返回(0xb),c++,cuda,cuda-gdb,C++,Cuda,Cuda Gdb,我正在调试cuda程序,并收到以下警告: warning: Cuda API error detected: cudaMemcpy returned (0xb) warning: Cuda API error detected: cudaMemcpy returned (0xb) warning: Cuda API error detected: cudaGetLastError returned (0xb) Error in kernel GPUassert: invalid argum

我正在调试cuda程序,并收到以下警告:

warning: Cuda API error detected: cudaMemcpy returned (0xb)

warning: Cuda API error detected: cudaMemcpy returned (0xb)

warning: Cuda API error detected: cudaGetLastError returned (0xb)

Error in kernel
GPUassert: invalid argument
当我在cuda gdb中键入“where”时,它会显示“无堆栈”

我们应该如何找到我的程序崩溃的地方

在这里找到答案:@第27页

您需要首先:

(cuda-gdb) set cuda api_failures stop
然后,当发生错误时,它将停止:

Cuda API error detected: cudaMemcpy returned (0xb)
(cuda-gdb) where
#0  0x00007fffea6a06d0 in cudbgReportDriverApiError () from       /usr/lib64/nvidia/libcuda.so.1
#1  0x00007fffea6a2c36 in cudbgReportDriverInternalError () from /usr/lib64/nvidia/libcuda.so.1
#2  0x00007fffea6eed93 in cudbgGetAPIVersion () from /usr/lib64/nvidia/libcuda.so.1
...
Cuda API error detected: cudaMemcpy returned (0xb)
(cuda-gdb) where
#0  0x00007fffea6a06d0 in cudbgReportDriverApiError () from       /usr/lib64/nvidia/libcuda.so.1
#1  0x00007fffea6a2c36 in cudbgReportDriverInternalError () from /usr/lib64/nvidia/libcuda.so.1
#2  0x00007fffea6eed93 in cudbgGetAPIVersion () from /usr/lib64/nvidia/libcuda.so.1
...