使用 GDB 进行远程调试
Remote debugging with GDB
我正在使用 GDB 调试 C 代码。 GDB 进程在 Cisco 交换机映像上 运行。
我有一些字符串变量的内存地址,它的内存地址是 0xFFFFFFF.
我如何知道该内存地址中的字符串是通过哪个函数分配的?
您可以通过 watch *(char*)0xFFFFFFF
为该地址设置一个观察点。 (这实际上将只监视该地址的第一个字节。)Details, as usual, are in the GDB manual.
需要考虑的事项:字符串可能是程序启动时出现的常量。在这种情况下,只能修改指针变量 (char*) 以指向该字符串。在这种情况下,您永远不会看到该地址处的内存被修改。
我正在使用 GDB 调试 C 代码。 GDB 进程在 Cisco 交换机映像上 运行。
我有一些字符串变量的内存地址,它的内存地址是 0xFFFFFFF.
我如何知道该内存地址中的字符串是通过哪个函数分配的?
您可以通过 watch *(char*)0xFFFFFFF
为该地址设置一个观察点。 (这实际上将只监视该地址的第一个字节。)Details, as usual, are in the GDB manual.
需要考虑的事项:字符串可能是程序启动时出现的常量。在这种情况下,只能修改指针变量 (char*) 以指向该字符串。在这种情况下,您永远不会看到该地址处的内存被修改。