我试图编写一个小函数让GDB评估ASM命令的作用,给出2个变量:初始值和结束值。 本质上我试图让gdb做si,直到它命中一个我正在寻找的命令。 所以说例如,我正在寻找下一个增加1到34的命令。我知道我可以手动完成并打印出指令并转到si,但我宁愿,如果可能的话,创建一个查看的函数ASM指令,然后在找到正在执行该操作的命令时停止。 因此,假设我匹配的命令是ADD R1,R2,R3和im寻找24的最终值和55的最终值,如果R2 = 24且R3 = 31并且我知道命令是add,那将是我的停止。 我想如果我能让gdb分解x / i命令我可以很容易地做到这一点,因为它可以分离ADD,R1,R2和R3我可以在我自己的函数中评估它 如果(($ R2 + R3)==) 问题是,我不能让GDB打破x / i字符串分开..而且我想也许它必须以某种方式将它从GDB传递给外部程序。 如果有人有任何想法,我会全力以赴。