【发布时间】:2013-02-21 03:16:36
【问题描述】:
我想在 OpenGL C++ 应用程序中嵌入脚本语言(js、python、perl,甚至 php,任何易于使用的语言)。我想这样做是为了能够执行以下操作:
- 在运行时打印各种 C++ 类成员的值
- 导致会在运行时唤醒 gdb 的中断
- 发现错误后,我想编写一个小脚本 oneliner 来复制它
我很确定这并不容易。我想问一下这是个好主意还是坏主意,是否值得付出努力。
示例用例
假设我旋转一条线,直到它与某物发生碰撞,并且我的碰撞检测有一些在碰撞时发生的 SIGSEGV。我打印出所有的角度,找出哪个是 SIGSEGV 之前的那个,然后我写了一个小 Python 的东西,它显示了一些值,这样我就可以弄清楚出了什么问题等等。
我想基本上我想要做的是避免 gdb 和 uhm.. 如果程序崩溃,我希望有一种方法可以用 Python 进行检查。
不是我不喜欢gdb,而是我不喜欢它有限的命令..
更新: GDB 现在可以扩展 with Python 开箱即用。这解决了canned sequences of commands 的很多限制。
【问题讨论】:
标签: c++ debugging scripting gdb