उस जड़ के रूप में चलाना एक भयानक विचार है। इसके बजाय, स्रोत का उपयोग करें, और qtcreator इस तरह से gdb लॉन्च करने के लिए sudo का उपयोग करें। यह आवश्यक है कि आप qtcreator लॉन्च करने से पहले एक tty और Corto sudo से qtcreator चलाएं, या अपने उपयोगकर्ता को पासवर्ड रहित sudo (अनुशंसित नहीं) के लिए कॉन्फ़िगर करें। मैं बाद में एक और पूर्ण समाधान कोड करूँगा।
यह मुझे क्यूटी के पूर्व ज्ञान के साथ 1-2 घंटे के कोड / डिबग में ले गया। अधिकांश उस समय को पूरा करने के लिए संकलन के इंतजार में बिताया गया था
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();
}