Opened 15 years ago
Closed 15 years ago
#1588 closed Bug (Fixed)
Modified Debug functionality
Reported by: | jr@… | Owned by: | Jpm |
---|---|---|---|
Milestone: | 3.3.7.0 | Component: | Standard UDFs |
Version: | 3.3.6.1 | Severity: | None |
Keywords: | Cc: |
Description
After installing the newest 3.3.6.1 version of AutoIT I found that the functionality for _DebugSetup has been changed significantly. Instead of using the notepad window, it now features a built-in report window plus some other options. Apart from the fact that the report window has no search capabilities, the real problem is that now all scripts that have debugging activated exit only after the report window is closed. This is a real problem in cases where you have multiple processes run in succession (restart). I use the debugging capability for tracing purposes, which will be no longer possible since the processes refuse to exit.
Running the example you can see in the task manager that both processes will stay active until the debug window is closed.
Attachments (1)
Change History (5)
Changed 15 years ago by jr@…
comment:1 Changed 15 years ago by Jpm
not sure your example is demontrating what you have in mind as you get an autoit3.exe waiting instead of a notepad.
Can you be more explicit about the burden?
as all output are realy going to the same window
comment:2 Changed 15 years ago by Jpm
rereading your post, make me assume something. You can always do your own report function
comment:3 Changed 15 years ago by anonymous
Like using win32 debug facility. (see DebugView @ http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx)
Example. (aka: working but not fully tested)
#include <Debug.au3> Global $Win32debug_hDll = 0 Func _Debug_Win32debug($sMsgOut = Default) If IsKeyword($sMsgOut) And $sMsgOut = Default Then ;; your exit code. If $Win32debug_hDll Then DllClose($Win32debug_hDll) $Win32debug_hDll = 0 Else If Not $Win32debug_hDll Then $Win32debug_hDll = DllOpen("kernel32.dll") DllCall($Win32debug_hDll, "none", "OutputDebugString", "str", $__gsReportWindowTitle_Debug & ': ' & $sMsgOut) If @error Then if $Win32debug_hDll Then DllClose($Win32debug_hDll) $debug_hDll = 0 EndIf MsgBox(0, '_Debug_Win32debug() Error', '$debug_hDll Call error.') Exit EndIf EndIf EndFunc _DebugSetup(Default, False, "_Debug_Win32debug") _DebugOut('_DebugOut') _DebugReportVar('_DebugReportVar', '_DebugReportVar', True)
comment:4 Changed 15 years ago by Jpm
- Milestone set to 3.3.7.0
- Owner changed from Gary to Jpm
- Resolution set to Fixed
- Status changed from new to closed
Fixed by revision [5794] in version: 3.3.7.0
Guidelines for posting comments:
- You cannot re-open a ticket but you may still leave a comment if you have additional information to add.
- In-depth discussions should take place on the forum.
For more information see the full version of the ticket guidelines here.
Test script for _debugSetup