]> git.siccegge.de Git - frida/frida.git/blobdiff - src/main.cxx
Use target addresses for basic block linking
[frida/frida.git] / src / main.cxx
index 0ce89abd3c284ec41cb304f5b95cf682aaf6eec9..80e06cea3fe324195a01415ed4af18537d3741aa 100644 (file)
@@ -18,9 +18,21 @@ using std::cerr;
 
 int main(int argc, char** argv)
 {
+       QApplication app(argc, argv);
+
     log4cxx::BasicConfigurator::configure();
     log4cxx::LoggerPtr _logger(log4cxx::Logger::getLogger("main"));
 
+       QCommandLineParser parser;
+
+       QApplication::setApplicationName("frida");
+       parser.addHelpOption();
+       parser.addVersionOption();
+       parser.addPositionalArgument("filename", QCoreApplication::translate("main", "File to disassemble."));
+
+
+       parser.process(app);
+
     LOG4CXX_DEBUG(_logger, "Initializing LLVM");
     llvm::InitializeAllTargetInfos();
     llvm::InitializeAllTargetMCs();
@@ -28,15 +40,15 @@ int main(int argc, char** argv)
     llvm::InitializeAllDisassemblers();
 
     LOG4CXX_DEBUG(_logger, "Initializing Qt");
-    QApplication app(argc, argv);
-       QCommandLineParser parser;
-
-       QApplication::setApplicationName("frida");
-       parser.addHelpOption();
-       parser.process(app);
 
-    Mainwindow m;
-    m.show();
+       std::string filename;
+       if (parser.positionalArguments().isEmpty()) {
+               filename = "";
+       } else {
+               filename = parser.positionalArguments().at(0).toStdString();
+       }
 
-    return app.exec();
+       Mainwindow m(filename);
+       m.show();
+       return app.exec();
 }