gpt4 book ai didi

debugging - 让 gcc 将相对文件名放入调试信息中

转载 作者:行者123 更新时间:2023-12-02 07:45:17 31 4
gpt4 key购买 nike

我正在编译的项目使用 CMake,它 loves absolute pathnames .

当我在启用调试信息的情况下进行编译时,gcc 将这些长名称放入 .debug_str 部分,这不利于调试。我希望那里有相对于项目根的短路径名。

是否有一些选项可以告诉 gcc 在发出调试数据之前删除路径名的某些部分?或者,也许有一些工具可以在编译的二进制文件上执行此操作?

我已经尝试使用 SET(CMAKE_USE_RELATIVE_PATHS ON) (这似乎是开发人员的 frowned upon)选项,但由于我使用的是源外构建,路径名仍然不是以我希望的形式。 IE。它们是 ./../src/mod_foo/foo.c 而不是 mod_foo/foo.c

最佳答案

您可以使用-fdebug-prefix-map标志来重新映射调试信息路径。例如,要使路径相对于构建位置,请使用:-fdebug-prefix-map=/full/build/path=。

关于debugging - 让 gcc 将相对文件名放入调试信息中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9607155/

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