Modify

#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)

debugtest.au3 (430 bytes ) - added by jr@… on Apr 28, 2010 at 1:03:07 PM.
Test script for _debugSetup

Download all attachments as: .zip

Change History (5)

by jr@…, on Apr 28, 2010 at 1:03:07 PM

Attachment: debugtest.au3 added

Test script for _debugSetup

comment:1 by Jpm, on Apr 28, 2010 at 5:57:01 PM

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 by Jpm, on Apr 29, 2010 at 5:28:22 AM

rereading your post, make me assume something. You can always do your own report function

comment:3 by anonymous, on May 1, 2010 at 2:23:47 AM

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 by Jpm, on May 5, 2010 at 10:37:47 PM

Milestone: 3.3.7.0
Owner: changed from Gary to Jpm
Resolution: Fixed
Status: newclosed

Fixed by revision [5794] in version: 3.3.7.0

Modify Ticket

Action
as closed The owner will remain Jpm.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.