在调试msp430时打印GDB中变量的值

时间:2015-05-19 08:04:20

标签: c gdb embedded msp430 gdbserver

我正在使用GDB来调试我的msp430。我连接目标,然后加载程序的二进制文件然后"继续"。

我的程序运行正常,但我希望实时查看某些变量值。实际上我想检查代码开始和代码结束的时间戳,这将给我总持续时间。

由于我是GDB的新手,目前我已将此行放在我的代码中

printf("Hello World\n");

然而,没有打印任何内容,但我的代码工作正常,实际上是LED闪烁。

请指导我如何在调试模式下查看GDB中的变量值。

由于

2 个答案:

答案 0 :(得分:1)

要在gdb中打印变量,您可以使用print命令

(gdb) print counter

您可以使用break 10在第10行设置断点。然后附加一系列命令,以便每次程序在{1}}的断点1处停止时运行。一个例子如下:

commands 1

因此,这将在第10行中断,打印计数器的值,然后继续该程序。

答案 1 :(得分:0)

对于时间戳,您可能要做的是设置两个断点,一个在代码的开头,一个在结尾。让每个断点记录时间,比如调用相应的函数。您可以使用commands功能创建断点。

但是,如果你想经常这样做,你可能会考虑只是在程序中添加代码来实现它。

对于远程调试时对变量的实时(-ish)访问,您可能对gdb“tracepoint”功能感兴趣。目前,此功能仅在远程调试时有效,并且它依赖于具有所需功能的远程调试服务器。跟踪点允许您在选定的点记录一些选定的变量,然后再检查它们。记录完成的开销相当小。