对标题感到抱歉我努力想出一些可以“描述”问题的东西。很抱歉,如果问题已被提出,但我找不到相关内容。
所以我试图使用带有 eval 函数的string类型的gdb方便变量。
首先,由于我刚开始使用gdb,我想确保我理解发生了什么,所以我尝试了以下
(gdb) eval "!echo 5"
5
(gdb) eval "!echo 5+8"
5+8
(gdb) eval "!echo %d", 5
5
(gdb) eval "!echo %d", 5+8
13
(gdb) set $anumber = 12
(gdb) eval "!echo %d", $anumber
12
到目前为止一切顺利。
然后我尝试了这个,我无法弄清楚为什么它在最后一行对我大喊大叫。
(gdb) eval "!echo hello"
hello
(gdb) eval "!echo \"hello\""
hello
(gdb) eval "!echo 'hello'"
hello
(gdb) set $hellostr = "hello"
(gdb) eval "!echo %s", $hellostr
You can't do that without a process to debug.
我有什么遗失的吗?
如果这可能会有所帮助,请调用 show version 生成
GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.5) 7.11.1