diff --git a/bdistrib.sh b/bdistrib.sh index 5b2e5c1a..8ff1f86e 100755 --- a/bdistrib.sh +++ b/bdistrib.sh @@ -1,5 +1,5 @@ -#!/bin/bash -set -e +#!/bin/bash -e + rm -rf distrib/ mkdir -p distrib/qira diff --git a/develinstall.sh b/develinstall.sh index 9f890cb7..5fedb138 100755 --- a/develinstall.sh +++ b/develinstall.sh @@ -1,5 +1,4 @@ -#!/bin/bash -set -e +#!/bin/bash -e ./install.sh ./qemu_build.sh diff --git a/middleware/qira_program.py b/middleware/qira_program.py index 080a3b36..06c2c0f6 100644 --- a/middleware/qira_program.py +++ b/middleware/qira_program.py @@ -70,6 +70,7 @@ class Program: else: raise Exception("binary type "+hex(self.fb)+" not supported") + self.qirabinary = os.path.realpath(self.qirabinary) print "**** using",self.qirabinary,"for",hex(self.fb) # no traces yet diff --git a/middleware/qira_webserver.py b/middleware/qira_webserver.py index d6e91d21..7831947a 100644 --- a/middleware/qira_webserver.py +++ b/middleware/qira_webserver.py @@ -218,21 +218,24 @@ def getregisters(forknum, clnum): @socketio.on('getstrace', namespace='/qira') def get_strace(forknum): + if forknum not in program.traces: + return + trace = program.traces[forknum] try: f = open("/tmp/qira_logs/"+str(int(forknum))+"_strace").read() except: return "no strace" ret = [] - first_clnum = None for ff in f.split("\n"): if ff == '': continue ff = ff.split(" ") - clnum = int(ff[0]) - if first_clnum == None: - first_clnum = clnum - if clnum == first_clnum: + try: + clnum = int(ff[0]) + except: + continue + if clnum == trace.db.get_minclnum(): # filter the boring syscalls continue pid = int(ff[1]) diff --git a/qemu_build.sh b/qemu_build.sh index abf3c42e..14429682 100755 --- a/qemu_build.sh +++ b/qemu_build.sh @@ -1,5 +1,4 @@ -#!/bin/bash -set -e +#!/bin/bash -e if [ ! -d qemu/qemu-latest ]; then rm -rf qemu diff --git a/qiradb/MANIFEST.in b/qiradb/MANIFEST.in index 99831ea2..cb6951e0 100644 --- a/qiradb/MANIFEST.in +++ b/qiradb/MANIFEST.in @@ -1,3 +1,4 @@ include qiradb/* include setup.py +include VERSION diff --git a/web/client/compatibility/base.js b/web/client/compatibility/base.js index e96b89e4..408c84c4 100644 --- a/web/client/compatibility/base.js +++ b/web/client/compatibility/base.js @@ -91,6 +91,10 @@ var baseevents = { var daddr = parseInt(e.target.getAttribute('daddr')); Session.set('daddr', daddr); }, + 'click .register': function(e) { + // the registers are in the zero page + Session.set('daddr', this.address); + } }; // uniform events everywhere diff --git a/web/client/regmem.js b/web/client/regmem.js index 4782e4a9..5eba55ca 100644 --- a/web/client/regmem.js +++ b/web/client/regmem.js @@ -104,6 +104,14 @@ Template.regviewer.datatype = function() { return get_data_type(this.value); }; +Template.regviewer.isselected = function() { + if (Session.get('daddr') == this.address) { + return 'highlight'; + } else { + return ''; + } +}; + // keep these updated Deps.autorun(function() { var daddr = Session.get('daddr'); diff --git a/web/qira.html b/web/qira.html index 539cc215..d49a6279 100644 --- a/web/qira.html +++ b/web/qira.html @@ -60,7 +60,7 @@