2016-07-15 42 views
1

我尝试调试时遇到IDE NSight(eclipse)的“漂亮打印机”选项问题。我已经Google搜索,但我还没有找到解决我的问题。NSight gdb错误

当我开始调试,将出现一条消息:

Traceback (most recent call last): 
    File "/usr/share/gdb/auto-load/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21-gdb.py", line 64, in <module> 
    register_libstdcxx_printers(gdb.current_objfile()) 
    File "/usr/lib/x86_64-linux-gnu/../../share/gcc-5/python/libstdcxx/v6/__init__.py", line 33, in register_libstdcxx_printers 
    register_libstdcxx_xmethods(obj) 
    File "/usr/lib/x86_64-linux-gnu/../../share/gcc-5/python/libstdcxx/v6/xmethods.py", line 600, in register_libstdcxx_xmethods 
    gdb.xmethod.register_xmethod_matcher(locus, ArrayMethodsMatcher()) 
    File "/usr/share/gdb/python/gdb/xmethod.py", line 266, in register_xmethod_matcher 
    index = _lookup_xmethod_matcher(locus, matcher.name) 
    File "/usr/share/gdb/python/gdb/xmethod.py", line 236, in _lookup_xmethod_matcher 
    for i in range(0, len(locus.xmethods)): 
AttributeError: 'gdb.Objfile' object has no attribute 'xmethods' 

我不知道哪里出了问题,但变量的值没有出现,唯一的解决办法是禁用漂亮的打印选项。

我使用的是Ubuntu 16.04,cuda工具包是从存储库安装的。

如果有人能帮忙,我会很感激。

+1

我刚刚也遇到了这个问题。它与eclipse或nsight无关,甚至在我从命令行运行时也会发生。 –

回答

0

这听起来像是你的gdb安装中的一个bug。 gdb.Objfile.xmethods是由gdb核心提供的,它实现了gdb.Objfile。因此,从/usr/share/gdb/python/gdb/xmethod.py检查它应该没问题 - 因为这也是gdb自带的文件。

+0

那么也许Ubuntu 16.04有一个bug的gdb安装? –

+0

我不能说,但这是一种可能性。另一个是,不知何故,你运行一个版本的gdb与另一个gdb的python库。 –

+1

听起来不错,这是cuda-gdb使用来自vanilla gdb的python漂亮打印机。没有理由不这样做,它可能只是一个版本不匹配。有人应该在Ubuntu 16.04中的cuda-gdb软件包上提交一个bug。 –