为什么远程调试时gdb插件不生效?

Why gdb plugins don't take effect while remote debugging?

我的 gdb 插件,如 peda、Gdbinit...,在本地调试时工作正常。 在我运行下面的命令之后,插件环境会一直显示。

gdb testApp

(gdb)b main

(gdb)run

我远程调试的过程如下

在 PC1 上:

gdbserver :2345 testApp

在 PC2 上:

gdb

(gdb)target remote PC1_IP:2345

(gdb)file testApp

(gdb)b main

(gdb)continue

gdb 调试似乎很好,但插件环境从未显示,尽管 PC1 和 PC2 上的插件在本地调试时都被验证可以工作。

我是不是犯了什么错误?

尝试 pwndbg 而不是 peda。

或者如果可以的话,手动修改插件。通常不擅长远程的 gdb 插件会做错一件事:当他们要求一个进程处于活动状态时,他们只考虑本地情况。他们可以远程做同样的事情,但他们没有,因为他们从一开始就没有考虑远程目标的情况。