在我的一项测试中,用 ECL 和 RCPTT 编写,我需要检查寄存器的值。为此,我检查寄存器视图中显示的值
问题是我要查找的寄存器在列表中很远。当滚动列表时,调试器会动态加载该值。
57-data-list-register-values --thread 1 --frame 0 x 15
57^done,register-values=[{number="15",value="0x0"}]
(gdb)
58-data-list-register-values --thread 1 --frame 0 N 15
58^done,register-values=[{number="15",value="0"}]
因此,为了检查寄存器的值,我需要强制滚动以强制调试器加载该值。所以这是我的问题:如何让测试滚动视图?
如果我不这样做,当我尝试使用以下方法选择寄存器时,执行会失败:
get-view Registers | get-tree | get-item "General Registers/MY_REGISTER"
它让我震惊:
Failed to set selection: [[General Registers, MY_REGISTER]].
我尝试使用
expand-all
来强制发现,但没有成功。
如果该网格中有键盘控制,您可以首先关注其中一行(例如,顶行上的
click
具有一些固定坐标,或者可能只需 click viewname
就足够了),然后 key-type PageDown
或 key-type Down
几次。