Run a C++ program in Clion as root

前端 未结 5 1968
逝去的感伤
逝去的感伤 2021-02-14 03:38

I\'m trying to run a program written in C++ by using CLion v1.2 as super user. Anyone here knows how to run it as superuser? I\'m using CMake.

相关标签:
5条回答
  • 2021-02-14 04:11

    You can create a bash script to help you. For example, run.sh:

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

    Don't forget to chmod a+x run.sh, and export the password of current account as an environment variable in Run/Debug Configurations.

    0 讨论(0)
  • 2021-02-14 04:13

    This was already implemented on CLion, starting 2020.3:

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

    0 讨论(0)
  • 2021-02-14 04:16

    A workaround is:

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

    If you are using CLion on Ubuntu (or probably, on some other Linux distribution), upon the first attempt to attach to the local process you can get the ptrace: Operation not permitted. error message. To disable it and enable attach to the local process feature, do the following:

    To disable this restriction temporarily, enter the command:

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

    To disable this restriction permanently, open the file /etc/sysctl.d/10-ptrace.conf for editing and change the line kernel.yama.ptrace_scope = 1 to kernel.yama.ptrace_scope = 0. To apply the changes, enter: sudo service procps restart or restart your system, at your choice.

    0 讨论(0)
  • 2021-02-14 04:17

    If you are asking to run the debugger as sudo/administrator, I had the same issue. On Linux you can open CLion as sudo and gdb will not have root permission issues running an executable:

    sudo ./clion.sh
    

    I would guess that you could right click in Windows and "Run as administrator" to get the same result.

    There is a feature request into JetBrains to run the debugger as root that could use more up voting.

    0 讨论(0)
  • 2021-02-14 04:20

    I solved this by remote debugging on local machine. I run gdbserver with root privileges and connected to it from CLion.

    To start gdbserver sudo gdbserver :port myapp, configure remote GDB debug with port

    0 讨论(0)
提交回复
热议问题