Jump to content

Graphical AutoIt Debugger


Stumpii
 Share

Recommended Posts

@Stumpii

Only for .NET, correct ?

Regards

ptrex

Yes

“Give a man a script; you have helped him for today. Teach a man to script; and you will not have to hear him whine for help.”AutoIt4UE - Custom AutoIt toolbar and wordfile for UltraEdit/UEStudio users.AutoIt Graphical Debugger - A graphical debugger for AutoIt.SimMetrics COM Wrapper - Calculate string similarity.

Link to comment
Share on other sites

Hi Stumpii

With version 0.19.0, when i run with F5 the first time, the application search the beta version of AutoIt and stop the debug

I set to nothing the parameters of beta version

Why in version 0.18.0 this is not happening?

Link to comment
Share on other sites

Hi Stumpii

With version 0.19.0, when i run with F5 the first time, the application search the beta version of AutoIt and stop the debug

I set to nothing the parameters of beta version

Why in version 0.18.0 this is not happening?

It is wrong by default. Go into the options form and set the paths and it should work fine. I will fix in the next release.

Thanks,

Stumpii

“Give a man a script; you have helped him for today. Teach a man to script; and you will not have to hear him whine for help.”AutoIt4UE - Custom AutoIt toolbar and wordfile for UltraEdit/UEStudio users.AutoIt Graphical Debugger - A graphical debugger for AutoIt.SimMetrics COM Wrapper - Calculate string similarity.

Link to comment
Share on other sites

New version 0.19.0RC4 released. See first post.

Changes:

Added: option to perform automatic context checking on doc load and when saving an individual file (not save all).

Fixed: When context check results are wrapped in the output window, double clicking can produce an error.

Fixed: On first install, beta and release paths are reversed. Thanks nkono.

Changed: Slight tweak to VS style colours.

Added: ErrorList window, separate from output window.

Changed: Output window will be shown when performing most 3rd party apps.

“Give a man a script; you have helped him for today. Teach a man to script; and you will not have to hear him whine for help.”AutoIt4UE - Custom AutoIt toolbar and wordfile for UltraEdit/UEStudio users.AutoIt Graphical Debugger - A graphical debugger for AutoIt.SimMetrics COM Wrapper - Calculate string similarity.

Link to comment
Share on other sites

G'day Stumpii

Sorry to say but I'm still having trouble with the @ScriptName

Test.au3

Global $var0 = True

#include <Test1.au3>

;MsgBox(0, "Info", "ScriptFullPath = " & @ScriptFullPath & @cr & "ScriptName = " & @ScriptName & @CR & "var0 = " & $var0 & @CR & "var1 = " & $var1 & @CR & "var2 = " & $var2)
MsgBox(0, "Info", "ScriptFullPath = " & @ScriptFullPath & @cr & "ScriptName = " & @ScriptName & @CR & "var0 = " & $var0 & @CR & "var1 = " & $var1)

#include-once
;Test1.au3

#include <Date.au3>
#include <Misc.au3>
#include <InetFileUpdate.au3>

Global $var1 = True

I downloaded "InetFileUpdate.au3" from elsewhere on this forum.

With these test scripts I get 2 problems.

1. The ".au3" extention is missing from the @ScriptName macro

2. Every 2nd run I get an error "Duplicate function name" for func OnAutoItExit(). As you can see "OnAutoItExit" isn't in the scripts.

Also in another more elaborate set of scripts the @ScriptName returns "InetFileUpdate". It's a similar situation to the test scripts above but with more code.

Good Luck!

John Morrison

Link to comment
Share on other sites

G'day Stumpii

Sorry to say but I'm still having trouble with the @ScriptName

Test.au3

Global $var0 = True

#include <Test1.au3>

;MsgBox(0, "Info", "ScriptFullPath = " & @ScriptFullPath & @cr & "ScriptName = " & @ScriptName & @CR & "var0 = " & $var0 & @CR & "var1 = " & $var1 & @CR & "var2 = " & $var2)
MsgBox(0, "Info", "ScriptFullPath = " & @ScriptFullPath & @cr & "ScriptName = " & @ScriptName & @CR & "var0 = " & $var0 & @CR & "var1 = " & $var1)

#include-once
;Test1.au3

#include <Date.au3>
#include <Misc.au3>
#include <InetFileUpdate.au3>

Global $var1 = True

I downloaded "InetFileUpdate.au3" from elsewhere on this forum.

With these test scripts I get 2 problems.

1. The ".au3" extention is missing from the @ScriptName macro

2. Every 2nd run I get an error "Duplicate function name" for func OnAutoItExit(). As you can see "OnAutoItExit" isn't in the scripts.

Also in another more elaborate set of scripts the @ScriptName returns "InetFileUpdate". It's a similar situation to the test scripts above but with more code.

Good Luck!

John Morrison

Hmm, I have downloaded the samples, run the script and don't have the same problem. Can you uninstall your version and install 0.19.0RC4 again.

If you still have a problem, then let me know where you are storing the files. Maybe the location has something to do with the problem. I am putting the script and includes in the same folder.

“Give a man a script; you have helped him for today. Teach a man to script; and you will not have to hear him whine for help.”AutoIt4UE - Custom AutoIt toolbar and wordfile for UltraEdit/UEStudio users.AutoIt Graphical Debugger - A graphical debugger for AutoIt.SimMetrics COM Wrapper - Calculate string similarity.

Link to comment
Share on other sites

Hmm, I have downloaded the samples, run the script and don't have the same problem. Can you uninstall your version and install 0.19.0RC4 again.

I've uninstalled and reinstalled now the test script comes up with the ""Duplicate function name" for func OnAutoItExit()" error every time.

If you still have a problem, then let me know where you are storing the files. Maybe the location has something to do with the problem. I am putting the script and includes in the same folder.

Yes they are both in the same directory.

I open Test.au3, press F5 OR click the RUN button and up pops the error...........SIGH

John Morrison

EDIT!!!!!

OK this is getting WEIRD I did some fault finding on the scripts (IE commented the includes out) and it didn't give the error. :lmao: BUT when I removed the commenting and returned the script to it's original form there still was no error???? :)

Just a thought does your program use a temporary storage area for the scripts being debugged and is it being cleaned up properly? Maybe it was working on old scripts not the ones I was looking at on the screen???

Link to comment
Share on other sites

I've uninstalled and reinstalled now the test script comes up with the ""Duplicate function name" for func OnAutoItExit()" error every time.

Yes they are both in the same directory.

I open Test.au3, press F5 OR click the RUN button and up pops the error...........SIGH

John Morrison

EDIT!!!!!

OK this is getting WEIRD I did some fault finding on the scripts (IE commented the includes out) and it didn't give the error. :lmao: BUT when I removed the commenting and returned the script to it's original form there still was no error???? :)

Just a thought does your program use a temporary storage area for the scripts being debugged and is it being cleaned up properly? Maybe it was working on old scripts not the ones I was looking at on the screen???

Debug files are only generated for files that change (to reduce the delay in running the script), so if you run the script with a new version of debugger, and the original script did not change, then a new file would not be generated. This maybe what happened to you. Try changing each file (add a space to the end of one line), save and re-run the debugger. See if it fixes the problem.

I will see about including the program version in the debug script ini file so that all scripts are regerated when a new debugger is installed.

“Give a man a script; you have helped him for today. Teach a man to script; and you will not have to hear him whine for help.”AutoIt4UE - Custom AutoIt toolbar and wordfile for UltraEdit/UEStudio users.AutoIt Graphical Debugger - A graphical debugger for AutoIt.SimMetrics COM Wrapper - Calculate string similarity.

Link to comment
Share on other sites

Debug files are only generated for files that change (to reduce the delay in running the script), so if you run the script with a new version of debugger, and the original script did not change, then a new file would not be generated. This maybe what happened to you. Try changing each file (add a space to the end of one line), save and re-run the debugger. See if it fixes the problem.

Yep that was the problem! :)

BUT I had to go right down to editing the UDF to get it to work properly. :lmao:

I will see about including the program version in the debug script ini file so that all scripts are regerated when a new debugger is installed.

Sounds like a VERY good idea. With a big file and multiple includes the workaround would be a real pain.

Thanks

John Morrison

Link to comment
Share on other sites

Yep that was the problem! :)

BUT I had to go right down to editing the UDF to get it to work properly. :lmao:

Sounds like a VERY good idea. With a big file and multiple includes the workaround would be a real pain.

Thanks

John Morrison

You can delete the hidden 'debug' folders (folder named 'debug' located in the same folder as the script or #include) and it will force a regeneration of the debug files.

“Give a man a script; you have helped him for today. Teach a man to script; and you will not have to hear him whine for help.”AutoIt4UE - Custom AutoIt toolbar and wordfile for UltraEdit/UEStudio users.AutoIt Graphical Debugger - A graphical debugger for AutoIt.SimMetrics COM Wrapper - Calculate string similarity.

Link to comment
Share on other sites

Reporting a bug(?) :

I double clicked on the output title bar (the one that shows the pin on it from the bottom-left part of the screen) and it disappeared.I clicked desperately on the window settings, but nothing happened ... How can I restore that ?

Cheers,

L|M|TER

Edited by LIMITER
Link to comment
Share on other sites

Reporting a bug(?) :

I double clicked on the output title bar (the one that shows the pin on it from the bottom-left part of the screen) and it disappeared.I clicked desperately on the window settings, but nothing happened ... How can I restore that ?

Cheers,

L|M|TER

It should undock and be visible outside of the main window. You may find it hiding behind some other window. Try minimising the other windows that are open.

If that does not help, delete the file 'DockPanel.config' from the install folder. Next time the debugger is run, the windows should be set back to the default.

“Give a man a script; you have helped him for today. Teach a man to script; and you will not have to hear him whine for help.”AutoIt4UE - Custom AutoIt toolbar and wordfile for UltraEdit/UEStudio users.AutoIt Graphical Debugger - A graphical debugger for AutoIt.SimMetrics COM Wrapper - Calculate string similarity.

Link to comment
Share on other sites

Hi,

first of all I would like to say a big THANK YOU for your great work!

But I get a little bit confused debugging this testscript:

Global $i=1

ConsoleWrite("i before test _:"&$i & @CRLF)

test()
;
; ...but after returning the global variable $i is also modified
;
ConsoleWrite("i after test _:"&$i & @CRLF)
Exit 0

Func test()
    
    Local    $i
    
    $i=100

    ConsoleWrite("i in test (before changeing value in Debugger)_:"& $i & @CRLF)
;
; Insert Breakpoint and modify $i by double click on it in the variable window
;   
    ConsoleWrite("i in test (after changeing value in Debugger)_:"& $i & @CRLF)
;
; Ok, the modified value is writte to the console ...
;
EndFunc

Running in debugger without modifying anything will give the expected result.

But if the value of $i is modified inside the test function ($i should be local)...

... the value of the global variable $i is also modified.

Am I doing something wrong?

Best wishes

Paul

Link to comment
Share on other sites

Hi,

first of all I would like to say a big THANK YOU for your great work!

But I get a little bit confused debugging this testscript:

Global $i=1
...
EndFunc

Running in debugger without modifying anything will give the expected result.

But if the value of $i is modified inside the test function ($i should be local)...

... the value of the global variable $i is also modified.

Am I doing something wrong?

Best wishes

Paul

It is really a limitation of the debugging process. To change a variable from the debugger, there is a function that assigns the value to the variable. This is a global function (it needs to be), so the debugger does not differentiate between variables of the same name.

I suggest, for the sake of debugging, you make each variable unique.

Stumpii

“Give a man a script; you have helped him for today. Teach a man to script; and you will not have to hear him whine for help.”AutoIt4UE - Custom AutoIt toolbar and wordfile for UltraEdit/UEStudio users.AutoIt Graphical Debugger - A graphical debugger for AutoIt.SimMetrics COM Wrapper - Calculate string similarity.

Link to comment
Share on other sites

It is really a limitation of the debugging process. To change a variable from the debugger, there is a function that

assigns the value to the variable. This is a global function (it needs to be), so the debugger does not differentiate

between variables of the same name.

thanks for your reply. This behavior is no big problem, but something to keep in mind.

I suggest, for the sake of debugging, you make each variable unique.

You're right. My example isn't maintainable code. Avoiding same names for global and local vars is the best way.

Best wisches

Paul

Link to comment
Share on other sites

  • 3 weeks later...

Stimpii,

Excellent work, I've been a loyal fan since early last fall. I really like how you now have syntax drop-down hints like SciTe. I think if you add a "Create New Document" button in File toolbar, not only could this be a debugger, but a VERY high quality IDE that I would certainly use over SciTE.

I have found one very obnoxious bug, however. The text editor is extremely finicky/buggy and won't allow me to type in statements like While 1 (it does not accept the "1"), and upon typing the third character to a variable name the entire variable disappears. I'd really like to see a functional text editing area because, like I said, I'd love to use your program over SciTe.

Best of luck to ya,

-T8

Link to comment
Share on other sites

Stimpii,

Excellent work, I've been a loyal fan since early last fall. I really like how you now have syntax drop-down hints like SciTe. I think if you add a "Create New Document" button in File toolbar, not only could this be a debugger, but a VERY high quality IDE that I would certainly use over SciTE.

Thanks. I will put it on the to do list.

I have found one very obnoxious bug, however. The text editor is extremely finicky/buggy and won't allow me to type in statements like While 1 (it does not accept the "1"), and upon typing the third character to a variable name the entire variable disappears. I'd really like to see a functional text editing area because, like I said, I'd love to use your program over SciTe.

Best of luck to ya,

-T8

I have been wrestling with the autocomplete which is not playing nice. It is the cause of the problems with variables disappearing. As this may take a while to get fully working, I will add an option to disable this until is it fully working. I started using the code that is used in SciTE, but there is alot and I cannot covert it all. At the moment I am just trying to get something that works reasonably well.

“Give a man a script; you have helped him for today. Teach a man to script; and you will not have to hear him whine for help.”AutoIt4UE - Custom AutoIt toolbar and wordfile for UltraEdit/UEStudio users.AutoIt Graphical Debugger - A graphical debugger for AutoIt.SimMetrics COM Wrapper - Calculate string similarity.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...