Search code examples
eclipsecudansightcuda-gdb

nsight eclipse for linux debug error


I'm using RHEL 6.2 and nsight eclipse edition on it to debug my cuda programs. There exists a problem with the debug mode, i.e. cuda-gdb on a customized Eclipse. When the PC enters the first Cuda API call, debugging terminates with these warnings:

warning: Can not parse XML OS data; XML support was disabled at compile time 
warning: Error removing breakpoint 0

I've also found a relevant bug report in eclipse bugs, but it seems that it had been forwarded to gdb: https://bugs.eclipse.org/bugs/show_bug.cgi?id=350426

After some observation it seemed as if libexpat.so should have been linked to cuda-gdb in compile time. Have you been able to work around this problem?

cuda-gdb on my system has such an output:

[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)

But, here is a hint of how ldd should have been like: https://bugs.archlinux.org/task/27841

ps. I'm also aware of incompatibility of Cuda SDK 5.0 RC with my RHEL 6.2; Nsight is documented as only compatible for RHEL 6.0 and 6.1 whereas the download link says RHEL 6.x.


Solution

  • (Reposting my comment as an answer in case someone else stumbles upon this thread).

    Unfortunately, due to some technical constraints CUDA debuggers require a dedicated GPU on Linux and Mac platforms. The underlying issue is that suspending the GPU on a breakpoint may hang a desktop environment when it tries to do rendering on the suspended GPU.

    "warning: Can not parse ..." is not a bug, it is simply a message about GDB flavour used as a basis for cuda-gdb. In no way it limits features available in cuda-gdb and Nsight Visual Debugger.