C 如果内存地址在GDB中包含十六进制的特定值,则为条件断点

C 如果内存地址在GDB中包含十六进制的特定值,则为条件断点,c,assembly,gdb,embedded,C,Assembly,Gdb,Embedded,我希望在调试中,当每个双字的内存地址包含一个十六进制格式的特定值时,能够中断程序的执行 考虑以下场景: (gdb)x/12dwx$pc 0x80327a9e: 0x00108fbf 0x00008fb0 0x10212883 0x100b0000 0x80327aae: 0x00080083 0x001803e0 0x54db27bd 0x00000c0c 0x80327abe: 0x9ea70000 0x2021080c 0x001c0040 0xffe88ca4 我希望监

我希望在调试中,当每个双字的内存地址包含一个十六进制格式的特定值时,能够中断程序的执行

考虑以下场景:

(gdb)x/12dwx$pc

0x80327a9e: 0x00108fbf  0x00008fb0  0x10212883  0x100b0000
0x80327aae: 0x00080083  0x001803e0  0x54db27bd  0x00000c0c
0x80327abe: 0x9ea70000  0x2021080c  0x001c0040  0xffe88ca4

我希望监视值
0x9ea70000
,以便执行在内存地址
0x80327abe
处停止

(gdb)帮助监视
如果
中断……您可以在监视点上设置条件,请参阅本节的“监视点命令”部分。监视用于监视特定变量?在这里,我想观察基本上所有的内存地址(虚拟地址空间),如果一个特定的内存地址包含一个特定的值。也许你在整个地址空间上做一个循环,然后设置一个中断,如果?这可能吗?“我想观察值0x9ea70000,以便执行在内存地址0x80327abe处停止”——您的问题毫无意义:如果地址
0x80327abe
包含数据,则执行永远不会通过该地址。如果该地址包含代码,则该地址的值永远不会更改。
(gdb)帮助监视
如果
,则中断。……您可以在监视点上设置条件,请参阅此地址的“监视点命令”部分。监视用于监视特定变量?在这里,我想观察基本上所有的内存地址(虚拟地址空间),如果一个特定的内存地址包含一个特定的值。也许你在整个地址空间上做一个循环,然后设置一个中断,如果?这可能吗?“我想观察值0x9ea70000,以便执行在内存地址0x80327abe处停止”——您的问题毫无意义:如果地址
0x80327abe
包含数据,则执行永远不会通过该地址。如果该地址包含代码,则该地址的值永远不会更改。