lexandera / aardwolf Goto Github PK
View Code? Open in Web Editor NEWA remote JavaScript debugger for Android/iOS/WindowsPhone7/BlackBerry6. Written in JavaScript.
Home Page: http://lexandera.com/aardwolf/
License: MIT License
A remote JavaScript debugger for Android/iOS/WindowsPhone7/BlackBerry6. Written in JavaScript.
Home Page: http://lexandera.com/aardwolf/
License: MIT License
If one of the files contains a regular expression you'll get a Syntax error in the generated file.
To reproduce you can add the following line anywhere in sample/chat..js
(function () {
var reg = /exp\(/g;
})();
The result is that the sample is broken
In some cases, the code highlighting seems to be off by a line. Please refer to http://youtu.be/GCrs9nd-c8E for more details.
Also, stepping "in" and "over" does not seems to get code within functions. As you can see from the video, when you step over, it goes from one function to the next, but there seems to be no way to debug code within the functions. I tried setting breakpoints but it seems to skip over that as well (the video does not reflect this).
My homegrown parser/rewriter is not exactly great... :)
Current implementation is suitable for demonstration purposes only
Can I use this tool to debug dinamic websites (for example, a spring application)? If not, is this intended support this feature in the future?
Good job!
Regards
Currently a debug statement is inserted only in front of the first of the nested statements, like this:
debugCode();
foo(bar(quux()));
It should be possible to use comma-separated groups of statements in the form of (funA(), funB())
for inserting debugging calls into nested code.
After this change, the generated code would look something like this instead:
(debugCode(), foo((debugCode(), bar((debugCode(), quux())))))
Apparently the system recognizes this as the app hanging and terminates it.
Both the UI code and the mobile library (aardwolf.js) do not currently handle requests that have timed out very well
Please add support on windows phone 8
Great pure JS debugging solution!
I'm wondering if you can use Webkit WebInspector frontend to present the debugging?
I think it is widely accepted by developers.
Thanks
Run the rewriter on this code sample:
for(var x=0;
x < 5;
x += 1) {
console.log(x);
}
The output cannot be run. It appears that Aardwolf is attempting to insert a bunch of statements inside the for loop, which causes it to have too many semicolon-delimited segments in it. It looks like this:
try { Aardwolf.pushStack("<toplevel>", "/test.js", '0'); var aardwolfEvalFunc = function(aardwolfEval) { return eval(aardwolfEval); };Aardwolf.updatePosition("/test.js", 1, false, aardwolfEvalFunc);for(var x=0;
Aardwolf.updatePosition("/test.js", 2, false, aardwolfEvalFunc);x < 5;
Uncaught SyntaxError: Unexpected token ;
Aardwolf.updatePosition("/test.js", 3, false, aardwolfEvalFunc);x += 1) {
console.log(x);
}
} catch (aardwolfEx) { if (!aardwolfEx.rethrown) { Aardwolf.reportException(aardwolfEx); } aardwolfEx.rethrown = true; throw aardwolfEx;} finally { Aardwolf.popStack();}
I run my code from different port and cannot serve js files from the same host as file server(8500). Is it possible to make it debug all other js files that come after aardwolf.js include?
I get this error trying to run it:
node app.js -h 192.168.1.13
path.existsSync is now called fs.existsSync
.
events.js:71
throw arguments[1]; // Unhandled 'error' event
^
Error: listen EADDRINUSE
at errnoException (net.js:770:11)
at Server._listen2 (net.js:910:14)
at listen (net.js:937:10)
at Server.listen (net.js:994:9)
at dns.js:72:18
at process.startup.processNextTick.process._tickCallback (node.js:244:9)
Help?
Update?
Also why not make it a npm install? I'd be glad to help.
On OSX 10.9 with both Chrome and Firefox I received an error when attempt to set XMLHttpRequest's timeout
was made. The specific code is in aardwolf.js around line 71:
if (path === '/breakpoint') {
req.timeout = 0;
}
When I comment out the req.timeout = 0;
is works correctly. I haven't tried other OS's or browsers.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.