2

您如何运行GDB,同时允许从命令行交互式输入字符,同时“打印”从这些条目中解析的字符产生的变量值?

换句话说,我如何运行 gdb,在命令行中输入文本并查看可执行文件如何处理这些条目?

如果我在 Emacs 中使用 gdb 运行它,它的行为也有什么不同M-x gdb吗?暂停可执行文件C-c C-c然后尝试打印变量值的行为不像我预期的那样。它似乎没有从正在调试的挂起的可执行文件中识别出有效的变量值。Clang我确实生成了一个带有-ggdb -O0标志的“可调试”可执行文件。

我还尝试将 gdb 链接到在单独终端中运行的程序可执行文件的 pid,但仍然遇到困难。程序需要交互解析命令行条目;我不能将它们作为初始命令行参数传递。

我希望我把我的问题说清楚了。

4

1 回答 1

1

启动 Mx gdb 后,输入 Mx gdb-many-windows 。这会在您的框架中打开新窗口,其中显示堆栈、断点、本地变量、您的代码和程序的 I/O,这意味着如果您在此处键入,输入将被提供给您的可执行文件。

于 2013-04-28T12:02:30.440 回答