dedmen / armadebugengine Goto Github PK
View Code? Open in Web Editor NEWA still experimental Script Debugger for Arma 3
License: Other
A still experimental Script Debugger for Arma 3
License: Other
It doesn't include frames from outside an isNil call, even though the SQF has access to them.
This can be massive, even just getting the name list takes a few seconds on a small new game (I didn't try on a large in progress one yet!).
I suggest:
Arma doesn't raise an error if we call a code-variable which is not defined:
0 call fnc_codeDoesNotExist; // No error
Which causes obvious inconvenience.
More thoughts about this feature:
with uiNamespace do
?Currently ADE does not dump a callstack when params throws an error like this one:
9:16:33 Error Params: Type Array, expected Object
I think it's critical to dump call stack in that case like on any other error.
When debugging a SQF script that has a created hashMap saved as a variable, ArmA 3 will crash (divide by 0 exception) if you stop/step the program past the first variable that saves a hashMap.
Using the current steam workshop version and mod based script files. Have not tested on mission file based scripts.
Globals, locals/stack variables (with associated stack frame ID I guess?), namespace variables.
Need only work when halted of course.
Would be better for usability if case of all identifiers and paths was maintained.
Immediately halt on current instruction.
Relies on #5 or it won't be useful.
Hi!
Since you've asked, I'm making an issue.
Suggestion: add an SQF command: ADE_onScriptError code
, which would call my code passed to it on a script error.
It should pass information about the script error to the callback, such as: file, line number, error text, and the callstack itself in string or array form.
Further things to think of: should it be stackable? What if we register the same code variable multiple times?
All scheduled scripts (I guess only running ones? All might be useful with state like started/not started or something), and I guess an unscheduled thread "main"?
Stack info should have associated thread IDs on it, and I should be able to request the stack for any thread by ID, including local variables etc.
On globals or namespace variables.
I want to run code in the current context, like an immediate window/repl.
Right now I am consciously peppering the code around where i want to stop with breakpoints as they aren't validated as actually correct.
Getting a return from the Set Breakpoint
command with the nearest appropriate location (+code snippet/whatever context is available for validation) would be perfect.
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.