gpt4 book ai didi

linux - 如何调试需要以 root 用户身份从 gdb (Eclipse) 运行的程序(设置 gdb suid root?)

转载 作者:太空狗 更新时间:2023-10-29 12:07:47 24 4
gpt4 key购买 nike

我需要使用 Eclipse (gdb) 在 Linux 上调试程序。该程序以 root 身份运行并且非常大。带有调试符号的二进制文件大约有 250MB,启动后有 60 多个运行线程。

我在考虑最好的解决方案:

  1. 使用 gdbserver
  2. 以根用户身份运行 Eclipse
  3. 设置gdb suid

我认为 1 (gdbserver) 是最好的解决方案,不幸的是它工作不可靠。 gdb 和 gdbserver 之间的连接丢失。我认为eclipse <-> gdb <-> gdbserver之间传输的大量数据存在问题。

数字 2(以 root 身份运行 eclipse)意味着以 root 身份运行每个进程,因此也会干扰版本控制系统,因为 Eclipse 插件将使用 root 用户而不是我的用户来更改版本控制文件。

我没有尝试数字 3 (suid gdb)。你怎么看待这件事?它真的有效吗?我知道 suid root gdb 与根本没有 root 密码一样安全,但该机器仅供我用于开发和调试。当然,可以有一个“启用/禁用”脚本,仅在必要时设置 suid 位。

您还有什么建议吗?

最佳答案

侵入性较小(不需要弄乱 suid)是将自己配置为在/etc/sudoers 中以 root 身份运行 gdb,然后运行:

sudo xauth merge ~/.Xauthority

须藤 gdb

需要第一个命令来允许 root 打开到 X 服务器的连接

关于linux - 如何调试需要以 root 用户身份从 gdb (Eclipse) 运行的程序(设置 gdb suid root?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3422288/

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