【发布时间】:2022-01-31 05:46:41
【问题描述】:
假设我在一台 Windows 机器上,然后我转到它的命令行终端并在那里键入 \'gdb\'。我得到 gdb 提示符 (gdb),如下图所示。这意味着 gdb.exe 已安装在机器上。
我的理解是 GDB 是客户端-服务器应用程序。我想知道这个gdb.exe是gdbserver还是gdbclient?如果是前者,那么后者会在哪里,如果是后者,那么在这种情况下,前者会在哪里?
假设我在一台 Windows 机器上,然后我转到它的命令行终端并在那里键入 \'gdb\'。我得到 gdb 提示符 (gdb),如下图所示。这意味着 gdb.exe 已安装在机器上。
我的理解是 GDB 是客户端-服务器应用程序。我想知道这个gdb.exe是gdbserver还是gdbclient?如果是前者,那么后者会在哪里,如果是后者,那么在这种情况下,前者会在哪里?
广发银行能够是客户端服务器应用程序,但它不一定是。
你开始的是 gdb 本身,所以,客户端。服务器实际上被称为gdbserver。
通常,当你想通过网络调试在不同机器上运行的东西时,你会使用gdbserver(尽管没有什么可以阻止你在与gdb 本身相同的机器上运行gdbserver)。
您也可以使用gdb 直接启动应用程序进行调试,因此在(gdb) 提示符下您可以这样做:
(gdb) file /path/to/some/executable
(gdb) break main
(gdb) run
要进一步阅读manual 有很多细节,有a simple example session 和more details on remote debug。
【讨论】: