c++ - Pretty Printers 用于在 Mac OS 中使用 Eclipse/CDT 调试 C++ 代码

标签 c++ debugging gdb osx-mountain-lion eclipse-cdt

我正在尝试使用 Eclipse(版本:Kepler Service Release 1)和 CDT 在 Mac OSX Mountain Lion.我知道我可以使用 XCODE 进行调试,但想使用 Eclipse 进行调试。我感谢任何帮助。谢谢。

我尝试了以下方法,但调试失败:

  1. ftp://ftp.gnu.org/gnu/gdb/gdb-7.6.tar.gz 下载 GNU gdb

  2. 通过以下方式使用 python 安装 GNU GDB

    ./configure --prefix=/usr/local/gdb7.6 --with-python=/usr/bin/python
    make 
    make install
    
  3. 将最新的 Python libstdc++ 打印机 check out 到文件夹 ~/gdb_printers

    svn co svn://gcc.gnu.org/svn/gcc/trunk/libstdc++-v3/python
    
  4. 创建 ~/gdb_printers/.gdbinit 并在 .gdbinit 文件中添加以下内容

    python
    import sys
    sys.path.insert(0, '/Users/ravi/gdb_printers/python')
    from libstdcxx.v6.printers import register_libstdcxx_printers
    register_libstdcxx_printers (None)
    end
    
  5. Eclipse 设置

在 Windows > 首选项 > C/C++ > 调试 > GDB

GDB 调试器的说明 /usr/local/gdb7.6/bin/gdb

上面写着 GDB 命令文件:/Users/ravi/gdb_printers/.gdbinit

  1. 现在,当我尝试调试时,出现以下错误。

    Error in final launch sequence
        Failed to execute MI command:
        source /Users/ravi/gdb_printers/.gdbinit
    Error message from debugger back end:
    /Users/ravi/gdb_printers/.gdbinit:6: Error in sourced command file:\nError while executing Python code.
    /Users/ravi/gdb_printers/.gdbinit:6: Error in sourced command file:\nError while executing Python code.
    

最佳答案

我在 Ubuntu 13.10 上使用 Eclipse 4.3 时遇到了同样的问题。

我正在使用 libstdc++6-4.8-gdb 包中提供的小型打印机,以便在/usr/share/gcc-4.8/python 中安装文件

为了修复您收到的相同消息,我查看了 printers.py 中的代码。碰巧问题是因为代码

raise ValueError, "..."

应该这样写

raise ValueError("...")

我对 Python 编程一无所知,但谷歌搜索让我尝试了这个。它似乎有效。 Pretty 打印机已在我的 Eclipse session 中启动并运行。

希望这对您有所帮助。 问候

关于c++ - Pretty Printers 用于在 Mac OS 中使用 Eclipse/CDT 调试 C++ 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19233606/

相关文章:

c++ - "if if"与 "if else if"的性能差异

c - DWARF 行表中的源列号

linux - GDB:linux 内置模块中的断点失败

c - 为什么 ddd 不显示源代码?

GDB 在 macOS Sierra 上不起作用

c++ - 随机排列非重复序列

c++ - 使用指向存储在 vector 中的对象的指针... C++

c++ - 做一个循环 "slow down"

python - 在大型 Python 代码库中从结果追溯到原因

ruby-on-rails - 如何安全地管理一次性脚本以修复数据?