1. 在对工程做了任何修改后,特别是对代码的修改,都应该重新生成解决方案:
生成->重新生成解决方案(Build->Rebuild Solution)。
2. 路径中一定一定不能有中文
GPU调试一直是一个很头疼的问题,在kernel比较简单的时候可以选择把一些计算结果打印出来进行查看,但当kernel很复杂的时候就没法这样进行调试了。听说Nsight可以提供帮助,使得GPU可以像CPU一样进行调试。Nsight在window下作为visual studio的插件,在Linux下作为eclipse的插件供我们使用。
然而博主在使用Nsight时设置断点后,发现调试并不能进入断点。于是百度,谷歌,stack-overflow,官方文档一个一个查过去也能找到对口的解决方案,然后在我不知所措的时候突发奇想试了一种我一直不屑试的情况,然后——知道真相的我眼泪流下来。如果你跟博主是同样的情况,那很幸运的。如果不太一样,在文章的最后面也会列出一些常见的造成跳过断点的可能方式,希望能在有所帮助。
因而本文解决的问题如标题所示,即:Nsight Debug时所设置的断点总是被跳过怎么破?
编程环境
首先列出博主的编程环境:
- OS: Win7
- IDE: Visual Studio 2015
- CUDA Toolkit Version: 8.0
- Nsight Version: 5.3