Print value of variable in GDB while debugging msp430
我正在使用gdb调试msp430。我连接目标,然后加载程序的二进制文件,然后"继续"。
我的程序运行良好,但是我想实时查看变量的某些值。实际上,我想检查代码开始和结束的时间戳,这将给我总的持续时间。
因为我对gdb完全陌生,所以目前我已经在代码中放置了这行代码。
1 2 |
然而,没有打印任何东西,但我的代码工作正常,这实际上是闪烁的LED。
请指导我如何在调试模式下查看gdb中变量的值。
谢谢
要在gdb中打印变量,可以使用
1 | (gdb) print counter |
您可以使用
1 2 3 4 5 6 7 8 9 | (gdb) break 10 Breakpoint 1 at 0x1c4d: file example.c, line 10. (gdb) commands 1 Type commands for breakpoint(s) 1, one per line. End with a line saying just"end". >print counter >continue >end (gdb) continue |
所以这将在第10行中断,打印计数器的值,然后继续程序。
对于时间戳,您可能希望设置两个断点,一个在代码的开头,一个在代码的结尾。让每个断点记录时间,比如调用适当的函数。您可以使用
但是,如果这是您经常要做的事情,您可以考虑只向程序中添加代码来完成它。
对于远程调试时对变量的实时访问(-ish),您可能对gdb"tracepoint"特性感兴趣。当前,此功能仅在远程调试时工作,它依赖于具有所需功能的远程调试服务器。跟踪点允许您在选定的点上记录一些选定的变量,然后在以后检查它们。记录是以相当小的开销完成的。