用户
 找回密码
 立即注册
xp2166176 该用户已被删除
发表于 2013-8-23 12:34:13
2488910
请教一下:Nsight3.1+CUDA5.5+VS2012中设置断点不停留的问题。
环境如下:
CUDA Toolkit :5.5.
Nsight:3.1.
VS:2012.
SYSTEM:WIN8.
GPU:GTX560TI.
驱动版本:326.41 beta.
具体问题如下:
程序没有问题,在Nsight中选择Start CUDA Debugging后,Nsigth显示连接成功,程序也运行在调试模式,但是设置的断点无效,也就是不中断。图片如下:
望版主查查问题。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
使用道具 举报 回复
发表于 2013-8-23 12:43:30
LZ您好:

图中信息已经表明了您的问题所在:nsight的start CUDA debugging只适用于CUDA device code,也就是kernel函数和__device__函数,如果您需要调试host端代码,请直接使用VS的debugging功能,也就是直接F5即可。

祝您好运~
使用道具 举报 回复 支持 反对
发表于 2013-8-23 12:44:20
刚刚测试了下CUDA5.5带的VertorAdd,发现可以调试,断点也可用。
使用道具 举报 回复 支持 反对
发表于 2013-8-23 12:50:28
楼主请您确定:
(1)您使用了-G编译您的kernel
(2)您试图在kernel中下断点。

如果2点均满足,却无法命中,那么我也不知道为什么。
论坛除了您之外只有1人遇到这种情况,他的反馈是:“反复重启计算机就好了”。

我和其他会员等使用了多年nsight, 从未遇到这种情况。请您考虑1和2.
使用道具 举报 回复 支持 反对
发表于 2013-8-23 12:50:51
ice 发表于 2013-8-23 12:43
LZ您好:

图中信息已经表明了您的问题所在:nsight的start CUDA debugging只适用于CUDA device code,也就 ...

谢谢版主,但是我调试的代码确实是前缀了__global__ void 的CUDA代码。断点也在CUDA代码之内,
为什么出现这种情况我也不知道。
使用道具 举报 回复 支持 反对
发表于 2013-8-23 12:55:11
横扫千军 发表于 2013-8-23 12:50
楼主请您确定:
(1)您使用了-G编译您的kernel
(2)您试图在kernel中下断点。

谢谢,我再去试验一下。
使用道具 举报 回复 支持 反对
发表于 2013-8-23 14:35:29
xp2166176 发表于 2013-8-23 12:50
谢谢版主,但是我调试的代码确实是前缀了__global__ void 的CUDA代码。断点也在CUDA代码之内,
为什么出 ...

LZ您好:

这样的话,我也不清楚是什么问题了,请您参照4#横扫斑竹的建议,检查一下。

祝您好运~
使用道具 举报 回复 支持 反对
发表于 2013-8-24 09:21:54
横扫千军 发表于 2013-8-23 12:50
楼主请您确定:
(1)您使用了-G编译您的kernel
(2)您试图在kernel中下断点。

笑死了……版主好萌……反复重启~
那个,我这种回帖可以发吗?好像太水了点……
使用道具 举报 回复 支持 反对
发表于 2013-8-24 11:26:04
tonycdy1991 发表于 2013-8-24 09:21
笑死了……版主好萌……反复重启~
那个,我这种回帖可以发吗?好像太水了点…… ...

前段时间有楼主发帖,说他是同样状况,

并对我们保证了设置了-G,断点,以及肯定kernel可以执行到断点位置,
但是不命中。

然后他说我们的建议都无效,自己反复重启2-3次可以下一个断点。
言辞确确的,就在论坛上。

所以我将此点作为一个可能的解决方案给予提供。

感谢来访。tony。
使用道具 举报 回复 支持 反对
发表于 2013-8-24 11:41:19
横扫千军 发表于 2013-8-24 11:26
前段时间有楼主发帖,说他是同样状况,

并对我们保证了设置了-G,断点,以及肯定kernel可以执行到断点位 ...

我最近也在用 Nsight ,不过是 Linux 环境下的,早晨看这个帖子的时候也是断点设置了不能停。
不过现在已经解决了。嗯,我觉得下面的经验可以参考下:
1、        Nsight 的 build 可以用自己编写的 makefile。注意最后输出的文件名需要是“All”,否则会报错。
2、        Nsight 的 debug 功能使用前请注意将自己写的 makefile 中的编译选项加上 –G ,原优化选项改为 –O0,不能是 –O2 之类的。
3、        Nsight 的断点可以在 debug 时动态添加,不必要在 debug 前就完成添加。
使用道具 举报 回复 支持 反对
12下一页
发新帖
您需要登录后才可以回帖 登录 | 立即注册