我正在使用GDB来调试我的msp430。我连接目标,然后加载程序的二进制文件然后"继续"。
我的程序运行正常,但我希望实时查看某些变量值。实际上我想检查代码开始和代码结束的时间戳,这将给我总持续时间。
由于我是GDB的新手,目前我已将此行放在我的代码中
printf("Hello World\n");
然而,没有打印任何内容,但我的代码工作正常,实际上是LED闪烁。
请指导我如何在调试模式下查看GDB中的变量值。
由于
答案 0 :(得分:1)
要在gdb中打印变量,您可以使用print
命令
(gdb) print counter
您可以使用break 10
在第10行设置断点。然后附加一系列命令,以便每次程序在{1}}的断点1处停止时运行。一个例子如下:
commands 1
因此,这将在第10行中断,打印计数器的值,然后继续该程序。
答案 1 :(得分:0)
对于时间戳,您可能要做的是设置两个断点,一个在代码的开头,一个在结尾。让每个断点记录时间,比如调用相应的函数。您可以使用commands
功能创建断点。
但是,如果你想经常这样做,你可能会考虑只是在程序中添加代码来实现它。
对于远程调试时对变量的实时(-ish)访问,您可能对gdb“tracepoint”功能感兴趣。目前,此功能仅在远程调试时有效,并且它依赖于具有所需功能的远程调试服务器。跟踪点允许您在选定的点记录一些选定的变量,然后再检查它们。记录完成的开销相当小。