我在emacs中使用gdb-many-windows作为普通用户.但该程序需要以root身份运行.我可以在运行gdb-many-windows之前更改为emacs中的root吗?还有其他方法可以解决这个问题吗?
更新:谢谢大家.
执行此操作时Meta-X gdb,emacs允许您更改gdb将调用的命令.
只需将其更改为 sudo gdb --annotate=3 ...
更新:作为亚光评论,这仍然是非常不安全的.更好的做到
sudo /usr/bin/gdb -ex 'set auto-load-scripts no' --annotate=3 ...
Run Code Online (Sandbox Code Playgroud)
更好的方法可能是更改您的设置,以便您正在调试的程序首先不需要以root用户身份运行.也许你可以使用fakeroot代替?
更新2:sudo似乎干扰了emacs终端处理.特别是,它尝试从中读取密码,/dev/tty并且不从emacs迷你缓冲区获取输入.
解决方案是让自己通过sudo无需密码即可调用GDB.像这样(in /etc/sudoers)的东西应该有效:
your_user_id ALL = NOPASSWD: /usr/bin/gdb
Run Code Online (Sandbox Code Playgroud)