UDF > Debug >


_DebugReportEx

Ecrit, dans une session de débogage, un message formaté

#include <Debug.au3>
_DebugReportEx ( $sData [, $bLastError = False [, $bExit = False]] )

Paramètres

$sData Données concernées par le rapport (par exemple "dllname|functionname")
$bLastError [optionnel] True si _WinAPI_GetLastErrorMessage() doit être ajouté aux données concernées par le rapport
$bExit [optionnel] True si le script doit se terminer

Valeur de retour

Succès: Retourne 1 (voir Remarques).
Échec: Retourne 0.

Remarques

Selon la valeur de @error le message sera formaté comme suit:
0 - rapport "Mauvais retour de la fonction dans la DLL ".
1 - rapport "Impossible d'ouvrir une DLL"
3 - Rapport "Impossible de trouver la fonction dans la DLL".

Si $sData ne contient pas de "|" ou @error n'est pas un des messages ci-dessus, le message rapporté ne ​sera pas formaté.
Si aucun appel à _DebugSetup() n'a été fait la fonction retourne toujours.
@error de l'appelant est préservée.
@extended contient _WinNet_GetLastError() de l'API Windows si $bLastError = True.
Sinon, il est préservé.

En relation

_DebugSetup

Exemple

#include <Debug.au3>

_DebugSetup()

_DebugReport("message1")

SomeUDF("anyfunction")
If @error Then _DebugReportEx("user32|anyfunction", True); avec le dernier message d'erreur ajouté

Local $iRet = SomeUDF("CloseClipboard")
If @error Or $iRet = 0 Then _DebugReportEx("user32|CloseClipboard")

_DebugReport("message2")

$iRet = SomeUDF("CloseClipboard")
If @error Or $iRet = 0 Then _DebugReportEx("user32|CloseClipboard", False, True) ; Script se termine

_DebugReport("message3") ; ne seront pas signalés

Func SomeUDF($sFunc)
    Local $aResult = DllCall("user32.dll", "int", $sFunc)
    If @error Then Return SetError(@error, @extended, 0)
    Return $aResult[0]
EndFunc   ;==>SomeUDF