gdb 观察点不适用于 gdb 加载命令
gdb watch point does not work on gdb load command
我在 gdb 中的内存位置设置了一个观察点,并通过 gdb load 命令加载了一个应用程序。尽管在加载应用程序期间更改了内存位置,但在加载命令期间未命中观察点。
(gdb) watch *0x1c
Hardware watchpoint 2: *0x1c
(gdb) p/x *0x1c
= 0xffffffff
(gdb) load
Loading section .text, size 0x53b4 lma 0x0
Loading section .eh_frame, size 0x4 lma 0x53b4
Loading section .ARM.exidx, size 0x8 lma 0x53b8
Loading section .rodata, size 0x238 lma 0x53c0
Loading section .data, size 0x520 lma 0x55f8
Start address 0xe4, load size 23320
Transfer rate: 9 KB/sec, 4664 bytes/write.
(gdb) p/x *0x1c
= 0xfdfcdf08
(gdb)
gdb 加载命令期间观察点是否工作?
我觉得这个要是触发了会很出乎意料。观察点用于 运行 您的程序所做的更改。在这种情况下,您的程序不是 运行,它正在加载。
我在 gdb 中的内存位置设置了一个观察点,并通过 gdb load 命令加载了一个应用程序。尽管在加载应用程序期间更改了内存位置,但在加载命令期间未命中观察点。
(gdb) watch *0x1c
Hardware watchpoint 2: *0x1c
(gdb) p/x *0x1c
= 0xffffffff
(gdb) load
Loading section .text, size 0x53b4 lma 0x0
Loading section .eh_frame, size 0x4 lma 0x53b4
Loading section .ARM.exidx, size 0x8 lma 0x53b8
Loading section .rodata, size 0x238 lma 0x53c0
Loading section .data, size 0x520 lma 0x55f8
Start address 0xe4, load size 23320
Transfer rate: 9 KB/sec, 4664 bytes/write.
(gdb) p/x *0x1c
= 0xfdfcdf08
(gdb)
gdb 加载命令期间观察点是否工作?
我觉得这个要是触发了会很出乎意料。观察点用于 运行 您的程序所做的更改。在这种情况下,您的程序不是 运行,它正在加载。