]> git.siccegge.de Git - frida/frida.git/blobdiff - src/main.cxx
Allow opening of binary via comman argument
[frida/frida.git] / src / main.cxx
index b23eb8860d1841551e2ce43a145f2d2ec09e4498..74d1325924fa326a44617b70519a121171950c40 100644 (file)
@@ -1,12 +1,15 @@
-#include "include.hxx"
+#include "include_llvm.hxx"
 
 #include <iostream>
 #include <climits>
 
 #include <QApplication>
+#include <QCommandLineParser>
 #include <QTextEdit>
 
-#include "Binary.hxx"
+#include "log4cxx/logger.h"
+#include "log4cxx/basicconfigurator.h"
+
 #include "gui/Mainwindow.hxx"
 
 using std::cout;
@@ -15,14 +18,28 @@ using std::cerr;
 
 int main(int argc, char** 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."));
+
+       QApplication app(argc, argv);
+       parser.process(app);
+
+    LOG4CXX_DEBUG(_logger, "Initializing LLVM");
     llvm::InitializeAllTargetInfos();
     llvm::InitializeAllTargetMCs();
     llvm::InitializeAllAsmParsers();
     llvm::InitializeAllDisassemblers();
 
-    QApplication app(argc, argv);
+    LOG4CXX_DEBUG(_logger, "Initializing Qt");
 
-    Mainwindow m;
+    Mainwindow m(parser.positionalArguments().at(0).toStdString());
     m.show();
 
     return app.exec();