From 4af530123275e89364d51fee6d2acbcba7f85907 Mon Sep 17 00:00:00 2001 From: "SND\\EreTIk_cp" Date: Mon, 5 Sep 2011 13:50:12 +0000 Subject: [PATCH] git-svn-id: https://pykd.svn.codeplex.com/svn@69567 9b283d60-5439-405e-af05-b73fd8c4d996 --- samples/watchDog.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/samples/watchDog.py b/samples/watchDog.py index 4274303..1f3f7e1 100644 --- a/samples/watchDog.py +++ b/samples/watchDog.py @@ -33,10 +33,18 @@ knownExcepCodes = { 0xc000013a : "CONTROL_C_EXIT" }; - class ExceptionHandler(debugEvent): + def __init__(self): + self.stopExceptionOccurred = False + debugEvent.__init__(self) def onException(self, exceptData): + + if exceptData["FirstChance"]: + return DEBUG_STATUS_NO_CHANGE + + self.stopExceptionOccurred = True + dprintln("\n *** shit happens") exceptCode = exceptData["Code"] @@ -70,8 +78,6 @@ class ExceptionHandler(debugEvent): for param in exceptData["Parameters"]: dprintln("\t0x%X" % param) - dprintln("\nFirst chance : " + str( exceptData["FirstChance"] )) - dbgCommand( ".reload" ) dprintln( "\n " + dbgCommand( "r" ) ) dprintln( dbgCommand( "kb" ) ) @@ -89,7 +95,9 @@ if __name__ == '__main__': exceptionHandler = ExceptionHandler() try: - go() + + while not exceptionHandler.stopExceptionOccurred: + go() except WaitEventException: dprintln("none of the targets could generate events")