当前位置: 代码迷 >> CUDA >> GPU(CUDA)学习日志(八)- Parallel Nsight 调试经验; CUDA:no source correspandence for breakpoint以及nvcc 命令行
  详细解决方案

GPU(CUDA)学习日志(八)- Parallel Nsight 调试经验; CUDA:no source correspandence for breakpoint以及nvcc 命令行

热度:1371   发布时间:2016-04-29 10:45:29.0
GPU(CUDA)学习日记(八)------ Parallel Nsight 调试经验; CUDA:no source correspandence for breakpoint以及nvcc 命令行

    这几天,在弄Parallel Nsight,作为新手的我,也能深深感觉到GPUDebugger --- parallel Nsight的强大,我的机器是win7 x64 + CUDA 4.2 + Parallel Nsight 2.2 ,其实2.2版本的Nsight已经能够单机调试GPU了!这一点真心给力啊!双机调试的经验已经在上一篇文章中介绍过了~其实单机调试也就是把客户端电脑的IP改为自己这台电脑的IP地址就好,也就是说自己连接自己,这样就可以单机调试了!具体可以看下图:



下面,说一下关于断点不能中断的问题,如下图:



由于自己的CUDA SDK程序能够单机、双机调试,所以,可以确定不是环境配置的问题,那就是自己工程中的配置出现了问题。

我的工程,cu文件的属性设定为“自定义生成”,在命令行中:"$(CUDA_BIN_PATH)\nvcc.exe" -ccbin "$(VCInstallDir)\bin" -c -DWIN32  -Xcompiler /nologo,/MTd -m 32 -I "$(CUDA_INC_PATH)"  -o $(IntDir)\$(InputName).obj %(FullPath)

其实,命令行中的设定没有什么错误(关于命令行的说明在后面会提到~),但是就是无法成功的进入断点,最后的解决方法为:

1、右键工程,选择“生成自定义”,弹出如下的对话框:


选择编译器CUDA4.2~

2、右键“.cu”文件,选择“属性”,在“常规”中“项类型”选择“CUDA C/C++”如下图:



3、“自定义生成工具”-选择“常规” 设置“Runtime Library”如下图(避免重定义):



完成!下面是完成之后的效果,和部分变量的数值~





下面,介绍一下nvcc编译器的命令行,其实,英伟达官方有关于nvcc命令行的说明,附上网址,希望共同学习吧~ http://ishare.iask.sina.com.cn/f/13954017.html?from=dl

  相关解决方案