Qt Creator以用户身份代码,但以root身份运行和调试
Qt Creator code as a user but run and debug as root
是否可以以nornal用户身份执行QtCreator,但以root身份运行和调试应用程序?
这将很有用,即在开发基于WiringPi的应用程序时,它有助于访问GPIO,但需要root才能有效地启用对硬件的访问。
为了更清楚地说明我的意图,我希望当我在QtCretor中点击Ctrl+R
时,它以root身份运行该应用程序。调试的想法相同,当我点击F5
时,它以 root 身份启动调试模式。所有这一切都是在QtCreator由普通用户运行的时候进行的。
WiringPi不需要root访问权限。您需要正确设置相关设备节点的属性,仅此而已。确保您有可供 WiringPi 使用的/dev/gpiomem
,可由用户写入。它在 4.1 和更新的内核 IIRC 上可用。
您的问题是 X-Y 问题的情况。是的,root访问回避了错误的设备节点属性的问题,但这根本不是一个合适的解决方案。不要以 root 用户身份运行应用程序。
我今天在以下评论下解决了与布线Pi相同的问题:https://askubuntu.com/a/711130
就我而言,它是:
工具->选项->环境在终端选项中将默认字符串替换为"/usr/bin/xterm -e sudo"。
另外,不要忘记转到"项目>构建和运行">"运行"并选中"在终端中运行"框。
简短的回答是否定的。 即使您可以从非根QtCreator上下文中启动应用程序以root身份运行,也无法连接到正在运行的进程并对其进行调试。
你最好以root身份运行QtCreator。
如果需要开发一个到 GPIO 引脚的"用户模式"接口,可以尝试本教程: LED 驱动器
它展示了一种在/sys 树中创建节点的方法,该方法可让你以用户模式访问 GPIO。
- LibGit2 SSH身份验证失败
- 如何将分支添加到已存在的TTree:ROOT
- 以非特权用户身份查询 NTFS 特殊文件的元数据?
- 为什么 WinInet 在通过 FQDN 连接时无法通过协商自动进行身份验证,但如果通过 IP 连接则成功?
- 如何通过NetHTTPClient在HTTPS中进行身份验证
- 临时对象有身份吗?
- 如何遍历几个每小时一次的根(.root)文件,并将它们组合成更大的每日数据.root文件?
- 以管理员身份运行应用程序时,有没有办法获取非管理员用户名
- 处理身份验证弹出窗口在wxWebView
- Win7 C++ - 从以用户身份登录的服务启动可执行文件的问题
- dopen():不以 root 身份运行时"failed to map segment from shared object"
- 以非 root 用户身份调用 mount() 系统调用
- Qt Creator以用户身份代码,但以root身份运行和调试
- 强制程序以Root身份启动,然后将其删除
- 如果你以root用户身份运行这个C++程序,为什么它要花这么长时间才能完成
- 以 root 身份运行应用程序时如何获取标准输出
- 以root权限调用c++函数,而不以root身份执行整个程序
- 以 root 身份运行时如何获取用户的区域设置?
- setlocale() 在以 root 身份运行时返回 'C'
- Qt应用程序在以root用户身份运行时更改字体