1

在我正在编写的这个程序中,我一直在使用 freeglut,而且通常它一直在工作。然而,有时当程序中出现一些与渲染完全无关的问题时,我在 glutInit() 处得到一个段错误,而 GDB 没有解释。

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7942409 in glutInit () from /usr/lib/x86_64-linux-gnu/libglut.so.3

回溯:

#0  0x00007ffff7942409 in glutInit () from /usr/lib/x86_64-linux-gnu/libglut.so.3
#1  0x0000000000415d4c in initGL () at ../gfx/render.cpp:62
#2  0x00000000004035f3 in main () at battle.cpp:49

在禁用渲染的情况下运行不会产生错误。

所以,我想知道我需要做什么才能获得有关这些故障的更多信息。我可以获得回溯以查看 liblut.so.3 内部吗?

(顺便说一句,任何比 freeglut 更可靠的工具包的建议都值得赞赏。)

4

1 回答 1

2

我可以获得回溯以查看 liblut.so.3 内部吗?

已经有一个正在查看内部的回溯libglut.so.3

你需要要么

  • 为其安装调试符号(sudo apt-get install freeglut3-dbg或类似的),或
  • 从源代码编译libglut.so,或
  • 在汇编级别调试:x/i $pc、、、disasinfo registers
于 2013-04-21T00:16:55.577 回答