使用cuda_gdb调试器需要在使用NVCC编译时加入 -g -G 命令行参数。其中-g表示主机代码编译为可调式版本;-G表示GPU代码编译为可调式版本。
nvcc -g -G setrun.cu -o set
l | 查看代码的 |
breakpoint(b) | 设置断点,使代码在指定位置暂停执行。其参数可以是方法名,也可以是行号 |
run(r) | 在调试器内执行程序 |
next(n) | 单步执行到下一行代码 |
continue(c) | 继续执行已暂停的程序至下一个断点或程序结尾处 |
backtrace(bt) | 显示当前方法调用的栈内容 |
thread | 列出当前主机线程 |
cuda thread | 列出当前活跃的GPU线程(若有的话) |
cuda kernel | 列出当前活跃的GPU kernel,并允许将“焦点”转移到指定的GPU线程 |
GNU ddd(数据可视调试器)为cuda-gdb(或gdb)提供了可视化界面。
启动ddd可视化界面
ddd -debugger cuda-gdb badcuda