以root用户身份运行C++程序

问题描述:

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

如果您要求以sudo/administrator身份运行调试器,我遇到了同样的问题。在Linux上,你可以打开克利翁的须藤和gdb不会有运行可执行root权限的问题:

sudo ./clion.sh 

我猜想,你可以就在Windows和“以管理员身份运行”点击得到同样的结果。

JetBrains中有一个feature request以root身份运行调试器,可以使用更多的投票。

+0

这不起作用,当您以root身份运行时,Clion在启动之前崩溃 – Sirens

+0

在Windows或Linux上?不以任何方式让我感到惊讶。我写完后不久就放弃了Clion。我喜欢Android Studio,但不能证明我为Clion付出了代价。 – MrSnrub

+0

Linux。似乎从他们的论坛是一个Ubuntu错误 – Sirens

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

要启动gdbserver的sudo gdbserver :port myapp,与port

配置远程GDB调试一个解决办法是:

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

如果您使用的是Ubuntu的克利翁(或可能的是,在其他一些Linux发行版),在第一次尝试附加到本地进程时,您可以获得ptrace:Operation not permitted。错误信息。要禁用它,使连接到本地的工艺特征,做到以下几点:

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

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或根据您的选择重新启动系统。