gpt4 book ai didi

c - 如何在整个项目(由其他人创建)中添加标志(例如-g)?

转载 作者:行者123 更新时间:2023-12-02 04:01:45 27 4
gpt4 key购买 nike

我有一个我正在使用的库(这对我的工作至关重要),我怀疑它可能有错误。不幸的是,图书馆的所有者对尝试我的示例代码 react 迟钝。我将尝试自己调试它。

老实说,它不仅仅是一个库,它是一个库加上一组内核模块,并且崩溃发生在内核级别(非常讨厌),而且对于代码的所有者来说确实也很难发现。

有时我很幸运,我得到一个内核 oops,如果我可以使用 -g 选项构建他的代码,我可以找到发生错误的行(这很有帮助,因为我刚刚开始面对他的大量代码几乎没有线索)。

现在项目的 GNUmakefiles 是用 automake 构建的(我相信)。我的问题是我怎么知道make添加-gCFLAGS通过整个构建?

我记得读过一些关于如何编写 Makefile 以便可以添加“外部”选项等的内容,但我不知道这些 makefile 是否会以这种能力生成(应该是因为它是 automake),或者这些外部选项是如何生成的反正给了!

我猜是这样的:

make CFLAGS=-g

应该这样做,但老实说不知道。

编辑:请注意,我实际上对 -g 感兴趣构建内核模块时要包含的标志。我不能使用尝试和错误(例如我上面的命令)来查看是否有效,因为内核构建只打印 [CC] ...不显示任何选项!

编辑:其实我确实尝试过,但是 gdb ./module.ko仍然声称没有调试符号。

最佳答案

有没有configure脚本?如果是这样,它是由 autoconf 创建的吗? (可能。)然后你可以做

./configure CFLAGS='-g -O0'
make clean
make

在调试和优化关闭的情况下重建整个事情。

否则,除非您提供 makefile 的相关摘录,否则没有人可以真正帮助您。

关于c - 如何在整个项目(由其他人创建)中添加标志(例如-g)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10192988/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com