Debugging NSight在调试时跳过断点

Debugging NSight在调试时跳过断点,debugging,cuda,gpu,gpgpu,nsight,Debugging,Cuda,Gpu,Gpgpu,Nsight,我有一个cuda应用程序,我正在尝试使用并行Nsight调试器进行调试。我的内核函数中有一个断点。但是,当我试图调试代码时,调试器并没有在断点处停止并立即打印结果。我已经搜索过了,我也得到了一个类似的帖子。 但是我已经在我的项目的属性页中选中了“GenerateGPU调试信息”,它已经变成了“Yes(-G0)”。我也在英伟达的一个示例程序中设置断点,比如MatrxMulcUDA,我可以很容易地调试他们的程序,并且能够看到细节。所以我不知道应该做什么,或者需要更改哪些其他设置,以便调试我的程序。我

我有一个cuda应用程序,我正在尝试使用并行Nsight调试器进行调试。我的内核函数中有一个断点。但是,当我试图调试代码时,调试器并没有在断点处停止并立即打印结果。我已经搜索过了,我也得到了一个类似的帖子。 但是我已经在我的项目的属性页中选中了“GenerateGPU调试信息”,它已经变成了“Yes(-G0)”。我也在英伟达的一个示例程序中设置断点,比如MatrxMulcUDA,我可以很容易地调试他们的程序,并且能够看到细节。所以我不知道应该做什么,或者需要更改哪些其他设置,以便调试我的程序。我想提供的信息很少: 1.我正在使用Microsoft visual studio 2010 2.我的GPU卡是NVidia 560ti。 3我正在使用CUDA 5.0和并行NSight visual studio 2.2版


这里是我调用内核的一些屏幕截图,也是我设置断点的一部分。非常感谢您的帮助。

我们已经修复了NVIDIA Nsight 3.0 RC2中的许多漏洞。我建议所有用户尽快升级到NVIDIA Nsight 3.0。这是一个免费的下载,可从中获得。

一种可能是您的内核根本没有执行。你在做?我在您提供的主机代码图片中没有看到任何内容。您还可以尝试使用
cuda memcheck
运行代码,查看是否报告了任何错误。不,您是对的。我没有做一个正确的cuda错误检查。但是有一件事,我从printf中得到的结果,在将矩阵复制回cpu之后,我得到了一个期望的结果。所以我相信内核正在执行。但我还是会按照你的建议去做,我会让你知道的。但这种行为背后还有其他可行的原因吗?嗨!我刚刚使用cudaGetLastError()测试了我的内核(在这个网站中有点提到:),内核正在执行,没有任何错误。那么,执行调试还需要做些什么呢?只是想知道您在哪里设置了brsakpount?那个指令是由线程执行的吗?嗨!我已经设置了一个断点,线程id将在这里得到评估,如我上传的内核映像所示。