写在最前面
Nsight很挑驱动版本,如果版本过高会直接跳过断点,也称忽略断点。
我的配置
系统win10 1809,VS2015.4 pro,CUDA 8.0.61。
调试成功的方法
win10 1809自带的N卡驱动版本是382.05,CUDA 8.0.61自带N卡驱动版本是376.51,刚好过了一点,好用,事实上只要400之前就可以。CUDA 8.0.61自带的Nsight版本是5.2,cuda debugging就报错,可以单独安装Nsight5.5版本。
测试
使用vs2015新建一个自带加法的例子,打上断点,注意只能在核心函数上打断点,比如__global__、__device__内。
然后在VS2015→Nsight→options允许安全连接。
然后在你PC右下角找到后台的Nsight,可能不一定在,如果不在,运行一次cuda debugging,失败后就会出现在后台。同样,options允许安全连接。
最后开心的开始debugging(Legacy),打开Nsight→Windows各种WarpWatch窗口。