summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--main.cpp15
-rw-r--r--process.h6
2 files changed, 20 insertions, 1 deletions
diff --git a/main.cpp b/main.cpp
index 0a3e93d..4802ac3 100644
--- a/main.cpp
+++ b/main.cpp
@@ -120,6 +120,7 @@ static Config parseConfigFile()
{
Config config;
config.base = config.platform = QLatin1String("unknown");
+ config.debugInterface = Config::LocalDebugInterface;
#ifdef Q_OS_ANDROID
QFile f("/system/bin/appcontroller.conf");
@@ -147,6 +148,14 @@ static Config parseConfigFile()
config.base = line.mid(5).simplified();
} else if (line.startsWith("platform=")) {
config.platform = line.mid(9).simplified();
+ } else if (line.startsWith("debugInterface=")) {
+ const QString value = line.mid(15).simplified();
+ if (value == "local")
+ config.debugInterface = Config::LocalDebugInterface;
+ else if (value == "public")
+ config.debugInterface = Config::PublicDebugInterface;
+ else
+ qWarning() << "Unkonwn value for debuginterface:" << value;
}
}
f.close();
@@ -283,7 +292,11 @@ int main(int argc, char **argv)
defaultArgs.append(args);
if (useGDB) {
- defaultArgs.push_front("localhost:" + QString::number(gdbDebugPort));
+ QString interface;
+ if (config.debugInterface == Config::LocalDebugInterface)
+ interface = QLatin1String("localhost");
+
+ defaultArgs.push_front(interface + ":" + QString::number(gdbDebugPort));
defaultArgs.push_front("gdbserver");
}
diff --git a/process.h b/process.h
index 99e5778..767cc95 100644
--- a/process.h
+++ b/process.h
@@ -10,6 +10,11 @@ struct Config {
};
Q_DECLARE_FLAGS(Flags, Flag)
+ enum DebugInterface{
+ LocalDebugInterface,
+ PublicDebugInterface
+ };
+
Config() : flags(0) { }
QString base;
@@ -17,6 +22,7 @@ struct Config {
QMap<QString,QString> env;
QStringList args;
Flags flags;
+ DebugInterface debugInterface;
};
class Process : public QObject