作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个空程序(module Main where main = return ()
),如果我在 cabal 文件中的 build-depends 中包含特定库,则会出现段错误。
该库是我自己的,段错误是 bumblebee 驱动程序与 opengl 和 haskell 的某种交互(段错误仅发生在我 optirun
时,它与其他程序,在堆栈跟踪中我只看到 libGL.so),但这不是我的问题。
我的问题是,没有代码段错误的程序如何?更准确地说,我的库的哪些代码仅仅因为它处于构建依赖中而运行?我该如何调试这些废话?
编辑。如果我更改额外库的列出顺序,则在编译我的库时,问题就会消失。具体来说,我将 GL、GLEW 移到了 sfml-* 之前。但问题仍然存在。 除了漫无目的地摆弄构建文件之外,我怎么可能发现这一点?
最佳答案
在 Bland GCC 编译中,我注意到 Linux 下 > 75% 的段错误是定义返回类型的方法,但代码流中没有返回类型。
我想说,当让某些东西充满不确定性时,要真正意识到返回并给出未使用的标称值......而不是“空值”或花哨的东西,只是在游戏中获得的东西。
如果随着您的进步,这不酷,您可以删除或修改它们。
您的消息中没有足够的详细信息来理解您的上下文,但如果您可以运行 pdb,GCC 会使用调试信息进行编译,这会提供巨大的帮助。当它崩溃后,有像frame和bt(backtrace)这样的命令来帮助你。
关于debugging - 空程序段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24117150/
我是一名优秀的程序员,十分优秀!