Qt Creator中如何在Tracepoints消息中打印变量值
在Tracepoints消息中打印变量值的方法
GDB环境下的操作方式
如果使用GDB调试器,在Tracepoints的消息中嵌入变量值有两种常用方式:
设置Tracepoint时直接指定带变量的消息
使用-message参数,变量名需要用%{}包裹,示例命令:trace main -message "进入main函数,变量a的当前值:%{a}"触发Tracepoint时,会自动替换
%{a}为变量a的实际值输出。为Tracepoint添加printf动作
先设置Tracepoint,再通过actions命令添加printf输出,语法和C语言printf一致,直接在参数中传入变量:trace main actions >printf "循环变量i的值:%d\n", i >end
LLDB环境下的操作方式
LLDB中可以通过-P参数指定格式化输出字符串,变量直接跟在字符串后用--分隔:
tracepoint set -n main -P "变量b的值:%f" -- b
注意事项
- 要打印的变量必须在Tracepoint触发的作用域内可见,否则会输出无效值或报错
- 不同调试器的语法细节有差异,需对应调试器的规则调整格式
内容的提问来源于stack exchange,提问作者AntiqueZamba
相关产品推荐
相关产品推荐

