我正在尝试使用CLion v1.2作为超级用户运行用C ++编写的程序。这里的任何人都知道如何以超级用户身份运行它?我正在使用CMake。
答案 0 :(得分:2)
我通过本地机器上的远程调试解决了这个问题。我使用root权限运行gdbserver并从CLion连接到它。
要启动gdbserver sudo gdbserver :port myapp
,请使用port
答案 1 :(得分:0)
如果您要求以sudo / administrator身份运行调试器,我遇到了同样的问题。在Linux上,您可以打开CLion作为sudo,gdb不会有运行可执行文件的root权限问题:
sudo ./clion.sh
我猜你可以在Windows中右键单击"以管理员身份运行"得到相同的结果。
JetBrains中有一个feature request以root身份运行调试器,可以使用更多的投票。
答案 2 :(得分:0)
解决方法是:
来自https://www.jetbrains.com/help/clion/attaching-to-local-process.html#prereq-ubuntu
如果您在Ubuntu上使用CLion(或者可能在某些其他Linux发行版上),在第一次尝试连接到本地进程时,您可以获得ptrace:不允许操作。错误信息。要禁用它并启用附加到本地进程功能,请执行以下操作:
要暂时禁用此限制,请输入命令:
echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope
要永久禁用此限制,请打开文件/etc/sysctl.d/10-ptrace.conf
进行编辑,然后将行kernel.yama.ptrace_scope = 1
更改为kernel.yama.ptrace_scope = 0
。要应用更改,请输入:
sudo service procps restart
或者按您的选择重新启动系统。
答案 3 :(得分:0)
您可以创建一个bash脚本来帮助您。例如,GoogleCredential credentials = GoogleCredential.fromStream(new FileInputStream("credentials.json")).createScoped(Collections.singleton(??));
:
run.sh
请不要忘记#!/usr/bin/env bash
echo $LOGIN_PASSWD | sudo -S yourExecutable --with=some-arguments
,并在运行/调试配置中将当前帐户的密码导出为环境变量。
答案 4 :(得分:0)
这已经在 CLion 上实现了,从 2020.3 开始: