我在上面使用RHEL 6.2和nsight eclipse版本来调试我的cuda程序。调试模式存在问题,即定制Eclipse上的cuda-gdb。当PC进入第一个Cuda API调用时,调试终止,并出现以下警告:
warning: Can not parse XML OS data; XML support was disabled at compile time
warning: Error removing breakpoint 0
我在eclipse bug中也发现了一个相关的bug报告,但它似乎已经被转发到gdb:https://bugs.eclipse.org/bugs/show_bug.cgi?id=350426
经过一些观察,libexpat.so似乎应该在编译时链接到cuda-gdb。你能解决这个问题吗?
我的系统上的cuda-gdb有这样一个输出:
[cbekar@ergo Research]$ ldd /usr/local/cuda/bin/cuda-gdb
linux-vdso.so.1 => (0x00007fff8e1ff000)
libncurses.so.5 => /lib64/libncurses.so.5 (0x0000003498600000)
libz.so.1 => /lib64/libz.so.1 (0x000000348e600000)
libm.so.6 => /lib64/libm.so.6 (0x000000348da00000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x000000348e200000)
libdl.so.2 => /lib64/libdl.so.2 (0x000000348de00000)
libutil.so.1 => /lib64/libutil.so.1 (0x000000349da00000)
libpython2.6.so.1.0 => /usr/lib64/libpython2.6.so.1.0 (0x0000003499200000)
libc.so.6 => /lib64/libc.so.6 (0x000000348d600000)
libtinfo.so.5 => /lib64/libtinfo.so.5 (0x000000349e600000)
/lib64/ld-linux-x86-64.so.2 (0x000000348d200000)
但是,以下是ldd应该是什么样子的提示:https://bugs.archlinux.org/task/27841
ps。我也知道Cuda SDK 5.0 RC与我的RHEL 6.2不兼容;Nsight仅与RHEL6.0和6.1兼容,而下载链接显示RHEL6.x.
(重新发布我的评论作为答案,以防其他人偶然发现这个线程)。
不幸的是,由于一些技术限制,CUDA调试器需要在Linux和Mac平台上使用专用GPU。根本问题是,当GPU试图在挂起的GPU上进行渲染时,在断点上挂起GPU可能会挂起桌面环境。
"警告:无法解析…"不是一个错误,它只是一条关于GDB风格的消息,用作cuda-GDB的基础。它丝毫没有限制cuda-gdb和Nsight Visual Debugger中可用的功能。