cDebug.au3 1.6.2

   (0 reviews)

1 Screenshot

About This File

cDebug.au3 includes four main debugging UDFs: _GuiDebug(), _ConsDebug(), _ClipDebug() and _FormatValsForDebug(). They all dump the values of all AutoIt subtypes and expressions, in a structured manner, including nested arrays and slices of them, and even DLL structs. It is an alternative to a graphical debugger, offering GUI output.

The format for calling the UDFs has been designed to make coding a call as convenient and fast as possible, minimizing coding effort and the chances of errors: the $name argument is often the same as the variables arguments, enclosed in quote marks.

#include cDebug.au3 at the top of your script.

It is fully documented in cDebug.pdf   .  During development of new features, the current version is used to debug the upcoming version, so there is much testing.

These UDFs have been in regular use for some years. Suggestions and bug reports are most welcome.

A teaser

This script:

#include "CDebug.au3"
Local $aCats[2][3] = [['jack','black',3],['suki','grey',4]]
Local $i = 1
Local $tStruct = DllStructCreate('uint')
DllStructSetData($tStruct,1,2018)
_GuiDebug('At line '&@ScriptLineNumber,'$cats,jack is,$cats[..][$i],$i,hex,structure{uint}', _
$aCats,$aCats[0][2],$aCats,$i,Hex(-$i),$tstruct)

produces:

cDebug teaser.jpg

Edit history
1.0.0    First release to AutoIt forum
1.1.0    Added _GuiDebug()
1.2.0    _GetCtrlFontSize() determines font name and point size; internal functions renamed to _cDebug_*
1.3.0    Added subtypes so now handles all Autoit subtypes; improved layout of results; fixed 2 bugs in Slices
1.4.0    Added display only a limited number of elements; added __ChangeElementLimitForDebug and the Change element limit button; detects more user errors in Slices
1.4.1    For binary variables with long values, shortened displayed value
1.4.2    Fixed Copy Data button not disabling after copying to Clipboard
1.4.3    Removed false detection of user error
1.5.0    Added ability to display structs with a tag specified, and without
1.5.1    Commented out call to _cDebug_Example(); Incorporated _StringSize() so no more #include "StringSize.au3"
1.5.2    Added reporting struct, endstruct and align; fixed string value containing single quote mark
1.5.3    Removed duplicate #include-once at line 1534
1.6.0    Changed the default for value parameters; added info messages when comparing a user tag and a determined tag; improved logic for comparing tags
1.6.1    Various small bug fixes; Note re detection now per main UDF call was per name-value pair; parent GUIs now lose focus properly
1.6.2    Removed ! From _cDebug_Example()

Acknowledgements

Melba23, Kafu, ProgAndy, jchd


What's New in Version 1.6.2

Released

Removed ! From _cDebug_Example()


1 person likes this



User Feedback

You may only provide a review once you have downloaded the file.

There are no reviews to display.

  • Similar Content

    • c.haslam
      By c.haslam
      The cDebug script includes four main debugging UDFs: _GuiDebug(), _ConsDebug(), _ClipDebug() and _FormatValsForDebug(). They all dump the values of all AutoIt subtypes and expressions, in a structured manner, including nested arrays and slices of them , and even DLL structs . It is an alternative to a graphical debugger, offering GUI output.
      The format for calling the UDFs has been designed to make coding a call as fast as possible, minimizing coding effort and the chances of errors: the $name argument is often the same as the variables arguments, enclosed in quote marks.
      It is fully documented. During development of new features, the current version is used to debug the upcoming version, so there is much testing.
      Get the latest version at https://www.autoitscript.com/forum/files/file/454-cdebugau3/

       
         
    • careca
      By careca
      Hi, having an issue with an application i did, seems to crash randomly, and can take hours to do so.
      Simply says in the error msgbox:
      AutoIt Error
      Line 16392 (whatevermyapppath.exe)
      Error: The requested action with this object has failed.
       
      Recent changes to the script include this:
       
      ObjGet("winmgmts:\\localhost\root\CIMV2") $oSelect_active_network_cards = $objWMIService.ExecQuery('SELECT ProductName FROM Win32_NetworkAdapter WHERE NetConnectionStatus = 2 OR NetConnectionStatus = 9', "WQL") For $oSelect_active_network_card In $oSelect_active_network_cards $Adapter = $oSelect_active_network_card.ProductName Next Is the only thing i can see that can be related to an "object"
      This lines run only once at the top of the script.
      When i run the script itself and wait for a crash, it doesn't, or at least yet i didn't.
      What do you think this error could be?
      UPDATE: Runing the script eventually output this:
      "C:\script.au3" (894) : ==> The requested action with this object has failed.:
      $oNetwork_cards = $objWMIService.ExecQuery('SELECT BytesReceivedPerSec, BytesSentPerSec FROM Win32_PerfFormattedData_Tcpip_NetworkInterface WHERE name LIKE "' & $Adapter & '"', "WQL")
      $oNetwork_cards = $objWMIService^ ERROR
    • aiter
      By aiter
      Anyone knows how to download the graphical autoitdebugger
      The download appears to have upped and died.
      Or an alternative?
       
       
    • Darien
      By Darien
      When an error occurs in a compiled script, the line number where the error occurred does not match. I noticed that blank lines and lines with only comments are ignored. in the attached example, it is advised that the error occurred on line 2, although in line 4. How to make it warned the correct line?
      teste.au3