【问题标题】:Tracing Large Source Code追踪大型源代码
【发布时间】:2024-01-10 01:24:01
【问题描述】:

我正在尝试修改一些开源代码,但我无法解决如何这样做

我正在使用的开源程序名为lessfs,它有大约四个C 文件,最多3000 行代码。我只关心源代码的一部分以便修改。

因此,我的问题是,如果我想在代码中添加一些打印语句,我怎么能看到呢?

我必须运行程序还是编译程序并单独运行它们?还是给作者发电子邮件并想办法在程序运行时查看正在打印的某些项目会更好吗?

我尝试过使用 GDB,但是当您处理多个大文件时,您是如何做到的?

我发布了另一个类似here的表格:

提前感谢您的宝贵时间

此外,有关我正在使用的源代码的更多信息,可以在此处找到:

http://www.lessfs.com/wordpress/

【问题讨论】:

  • “我怎么能看到它?”是什么意思?打印的信息不会像往常那样总是在您的控制台上弹出吗?
  • 我想在程序运行时查看正在打印的程序中的特定属性,所以我添加了打印语句,但是当我运行程序时没有打印(我在源代码中添加的) ,我是否必须单独编译我​​正在使用的特定 C 文件?或者我应该联系作者了解我如何能够做到这一点

标签: c terminal printf trace deduplication


【解决方案1】:

如果您添加一些打印语句,您必须再次编译程序然后运行它才能看到打印的文本。我认为这对于编译语言来说是显而易见的。

使用带有断点的 GDB 代替 print 语句来检查变量的值或程序的流程。

【讨论】:

  • 是的,我知道在运行自己的文件时该怎么做,但是当这个源代码有一堆 .h 文件和其他 C 程序所需的要运行的程序?
  • @humblebeast,在 IDE 中编写 makefile 或创建项目并添加这些文件(IDE 将为您生成 makefile)。
  • 好的,我会尝试 C 版本的 Eclipse 来运行这个程序,尝试调试器来跟踪方法,然后最终创建一个 makefile;不过,makefile 究竟有什么帮助?
  • 一个 IDE 可以完成这项工作,但如果你有足够的时间,我建议你学习 cmake cmake.org