【问题标题】:Can I log variable value to a file without break points in gdb?我可以将变量值记录到 gdb 中没有断点的文件吗?
【发布时间】:2012-06-15 04:35:46
【问题描述】:

是否可以在不使用 gdb 断点的情况下将 ex: 数组值记录到日志文件中?

我用过这个:

set logging on some_file
b func
command 1
p print_clock_cycles    
c
end

目标:通过 gdb 将时钟周期值记录到文件中。日志记录可以是无限的,所以我不能使用现有的内存。

我的问题:如果我通过读取寄存器来打印时钟周期,与没有断点相比,使用上述脚本打印时的值是不同的(由于内存原因,我不想使用其他方式读取约束)。我假设当我们有一个影响时钟周期的断点时,gdb 需要更多时间来打印。我没有附加任何其他用于 ex jtag 的调试器。

还有其他方法可以记录值吗?

谢谢

【问题讨论】:

  • 您使用的是什么操作系统?您使用什么语言? (C、C++、Objective-C 还是其他?)您尝试过什么写入文件?
  • 使用 C(标记)和 RTOS。将 32 位值写入文件。

标签: c gdb breakpoints


【解决方案1】:

您有可用的串行端口吗?当我在嵌入式平台上进行开发时,这是保存调试信息的好方法。

我编写了管理串口的函数。我的“打印”函数将字符串数据排入缓冲区,串行 ISR 将数据从缓冲区中排出。只要串行端口可以足够快地耗尽缓冲区,它就永远不会填满。

【讨论】:

    猜你喜欢
    • 2015-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多