gpt4 book ai didi

gdb - 我如何正确配置 GDB,以停止错误 "You can' t 在没有调试过程的情况下执行此操作”

转载 作者:行者123 更新时间:2023-12-05 04:06:38 24 4
gpt4 key购买 nike

Ubuntu 16.04.4 LTS, GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.5) 7.11.1

我试图在已编译的 C 程序中调用函数并获得以下信息:

"(gdb) call getVarName(someParam)
You can't do that without a process to debug."

没有其他代码或消息。

我可以从 shell 提示符运行程序jef@ubuntu$ ./程序。指定文件后,我可以在 gdb 中运行程序。权限为 777(只是为了涵盖所有基础)。

根据研究,我将 SHELL 设置为“export SHELL=/bin/bash”和在/etc/sysctl.d/10-ptrace.conf 中设置 kernal.yama.ptrace_scope = 0

我仍然有同样的行为。

最佳答案

I still get the same behavior.

当然。

你得到的错误意味着:你不能这样做,除非你正在调试一个实时进程。

这会起作用:

(gdb) break main
(gdb) run
... GDB is now stopped, *and* you have a live process.
... you *can* call getVarName(...) now
(gdb) call getVarName(...)

(gdb) continue # causes the process to run to end and exit
[Inferior 1 (process 195969) exited normally]

(gdb) # Now you no longer have a live process, so you *again* can't
# call functions in it.

关于gdb - 我如何正确配置 GDB,以停止错误 "You can' t 在没有调试过程的情况下执行此操作”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49696130/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com