11

我正在尝试使用 CLion v1.2 作为超级用户来运行用 C++ 编写的程序。这里的任何人都知道如何以超级用户身份运行它?我正在使用 CMake。

4

5 回答 5

4

我通过在本地机器上进行远程调试解决了这个问题。我以 root 权限运行 gdbserver 并从 CLion 连接到它。

要启动 gdbserver sudo gdbserver :port myapp,请配置远程 GDB 调试port

于 2016-12-23T16:20:32.230 回答
1

一种解决方法是:

来自https://www.jetbrains.com/help/clion/attaching-to-local-process.html#prereq-ubuntu

如果您在 Ubuntu 上使用 CLion(或者可能在其他 Linux 发行版上),在第一次尝试附加到本地进程时,您可以获得 ptrace: Operation not allowed。错误信息。要禁用它并启用附加到本地进程功能,请执行以下操作:

要暂时禁用此限制,请输入命令:

echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope

要永久禁用此限制,请打开文件/etc/sysctl.d/10-ptrace.conf进行编辑并将行更改kernel.yama.ptrace_scope = 1kernel.yama.ptrace_scope = 0. 要应用更改,请输入: sudo service procps restart或根据您的选择重新启动系统。

于 2018-02-12T13:12:11.573 回答
1

如果您要求以 sudo/administrator 身份运行调试器,我遇到了同样的问题。在 Linux 上,您可以使用 sudo 打开 CLion,并且 gdb 运行可执行文件时不会出现 root 权限问题:

sudo ./clion.sh

我猜您可以右键单击 Windows 并“以管理员身份运行”以获得相同的结果。

JetBrains 中有一个功能请求以 root 身份运行调试器,这可能会使用更多的投票。

于 2016-05-05T16:35:39.290 回答
0

从 2020.3 开始,这已在 CLion 上实施:

https://www.jetbrains.com/help/clion/debug-as-root.html

于 2020-12-26T01:15:21.993 回答
-1

您可以创建一个 bash 脚本来帮助您。例如run.sh

#!/usr/bin/env bash
echo $LOGIN_PASSWD | sudo -S yourExecutable --with=some-arguments

不要忘记chmod a+x run.sh,并将当前帐户的密码导出为运行/调试配置中的环境变量。

于 2018-06-21T17:28:25.660 回答