可以使用
可以使用QtCreator以root权限调试我的Qt应用程序吗?在Ubuntu系统上如何做到这一点?
sudo
来以root权限运行我的应用程序,像这样:sudo ./MyApp
可以使用QtCreator以root权限调试我的Qt应用程序吗?在Ubuntu系统上如何做到这一点?
sudo
来以root权限运行我的应用程序,像这样:sudo ./MyApp
工具 -> 选项 -> 环境
常规
下的系统组
中有一个终端
选项。/usr/bin/xterm -e
。将其替换为/usr/bin/xterm -e sudo
或/usr/bin/gnome-terminal -x sudo
。应用
和确定
按钮。项目
,选择运行
选项。在运行
分组框下选择在终端中运行
。请记住:sudo
选项必须存在
编辑/etc/sudoers
使用sudo visudo
超级用户权限
被调用,并且会要求输入root密码
。sudo /usr/bin/qtcreator
$ sudo gdbserver host:2345 ./MyApp
$ sudo ps -u
/root/.ssh/authorized_keys
中。
然后在“选项”->“工具链”中克隆桌面套件,并将新套件的设备设置为您在前一步中创建的设备。https://gist.github.com/ppetraki/a0080da047047ea184c6
--- qtcreator-3.0.1.orig/src/plugins/debugger/gdb/gdbprocess.cpp +++ qtcreator-3.0.1/src/plugins/debugger/gdb/gdbprocess.cpp @@ -59,7 +59,11 @@ QByteArray GdbProcess::readAllStandardErvoid GdbProcess::start(const QString &cmd, const QStringList &args) { - m_gdbProc.setCommand(cmd, Utils::QtcProcess::joinArgs(args)); + QStringList sudoArgs; + sudoArgs << cmd << args; + QString sudoCmd = QString::fromUtf8("/usr/bin/sudo"); + + m_gdbProc.setCommand(sudoCmd, Utils::QtcProcess::joinArgs(sudoArgs)); m_gdbProc.start(); }