From 7af0fef793b6573f8ab95cc15098130f2ec7244a Mon Sep 17 00:00:00 2001
From: "SND\\kernelnet_cp"
 <SND\kernelnet_cp@9b283d60-5439-405e-af05-b73fd8c4d996>
Date: Fri, 29 Jul 2011 14:20:50 +0000
Subject: [PATCH] [samples] added : debug.py

git-svn-id: https://pykd.svn.codeplex.com/svn@68415 9b283d60-5439-405e-af05-b73fd8c4d996
---
 samples/debug.py | 72 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 72 insertions(+)
 create mode 100644 samples/debug.py

diff --git a/samples/debug.py b/samples/debug.py
new file mode 100644
index 0000000..761d083
--- /dev/null
+++ b/samples/debug.py
@@ -0,0 +1,72 @@
+#
+#
+#
+
+from PySide.QtCore import *
+from PySide.QtGui import *      
+
+import pykd
+
+
+class DbgThread( QThread ):
+
+    def __init__(self):
+        QThread.__init__(self)
+    
+    def run(self):
+        pykd.startProcess( self.processName )
+        pykd.go()
+        #    pass         
+        while True:
+            self.sleep(100)
+
+
+        self.exit()
+
+
+class MainForm( QMainWindow ):
+    
+    def __init__( self ):
+
+        QMainWindow.__init__( self, None )            
+        self.setWindowTitle("Pykd Debugger Sample")      
+
+        fileMenu = QMenu( "&File" )
+        fileMenu.addAction( "Open process...",  self.onOpenProcess )
+        fileMenu.addAction( "Exit", self.onExit )
+
+        self.menuBar().addMenu( fileMenu )
+
+        self.resize( 800, 600 )
+
+    
+    def __del__( self ):
+
+        if self.debugger.isRunning():
+            self.debugger.quit()
+            self.debugger.wait(1000)
+            self.debugger.terminate()
+
+
+    def onOpenProcess( self ):
+	fileDlg = QFileDialog( self )
+        fileDlg.setNameFilter( self.tr("Executable (*.exe)" ) )
+
+        self.debugger = DbgThread()
+        self.debugger.processName = fileDlg.getOpenFileName()[0]
+        self.debugger.start()
+
+
+    def onExit( self ):
+        self.close()
+
+
+def main():      
+
+    app = QApplication( [] )
+    mainForm = MainForm()
+    mainForm.show()
+    exitres = app.exec_()
+
+if __name__ == "__main__":
+    main()
\ No newline at end of file