gpt4 book ai didi

c++ - Linux,我可以重定向外部库(.so)的调试输出吗

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:57:29 24 4
gpt4 key购买 nike

我正在 linux(然后是其他平台)上用 qt c++ 开发一个应用程序。我在我的项目中使用第三方库。在程序执行期间,该库会在我的调试控制台上写入调试消息,我需要保持清洁以调试程序的其他部分。我该怎么做才能仅重定向(或隐藏)来自该库的调试消息?谢谢

问候安德里亚

最佳答案

如果你有 *.so 的代码,你可以尝试在 Release模式下编译它,这样你就可以避免调试消息被编译/执行。

您仍然可以在“ Debug模式”项目中使用“ Release模式”库。请注意,您也看不到库中的任何符号。

回应您的评论:

... I've already tryed but the library keeps to print debug messages also in release build

您看到的消息似乎并不是真正的“调试”消息。消息可能是由 coutprintf 打印的吗?是这样吗,恐怕你不能只重定向图书馆的消息。

您可以重定向一个进程的消息,当您加载一个库时,您执行的每个函数都由加载进程执行,因此,它就像重定向/隐藏进程的一部分输出一样。

但是,既然你有代码,为什么不添加

#ifdef DEBUG
...
#endif

阻止你自己?

关于c++ - Linux,我可以重定向外部库(.so)的调试输出吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24537177/

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