Menjalankan itu sebagai root adalah ide yang mengerikan. Sebagai gantinya, gunakan sumbernya, dan buat qtcreator gunakan sudo untuk meluncurkan gdb seperti ini. Mengharuskan Anda menjalankan qtcreator dari sudo tty dan auth sebelum Anda meluncurkan qtcreator, atau mengonfigurasi pengguna Anda untuk sudo tanpa kata sandi (tidak disarankan). Saya akan kode solusi yang lebih lengkap nanti.
Saya butuh 1-2 jam kode / debug tanpa pengetahuan sebelumnya tentang QT. Sebagian besar waktu dihabiskan menunggu kompilasi selesai
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::readAllStandardEr
void 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();
}