pykd/samples/debug/widgets/regs.py

49 lines
1.1 KiB
Python
Raw Normal View History

from PySide.QtCore import *
from PySide.QtGui import *
import pykd
class RegistersWidget( QDockWidget ):
def __init__( self, parent ):
QDockWidget.__init__( self )
self.setWindowTitle( "Registers" )
self.textArea = QTextEdit()
self.setWidget( self.textArea )
self.setVisible( False )
parent.addDockWidget( Qt.LeftDockWidgetArea, self )
parent.updated.connect(self.onUpdate )
parent.viewMenu.addAction( "Regsiters", self.onRegistersShow )
def onUpdate( self ):
s = ""
for reg in self.getRegisterSet():
s += "%s %x ( %d )\r\n" % ( reg.name(), reg.value(), reg.value() )
self.textArea.setPlainText( s )
def getRegisterSet(self):
regSet=[]
try:
i = 0
while True:
reg = pykd.cpuReg(i)
regSet.append(reg)
i += 1
except pykd.BaseException:
pass
return regSet
def onRegistersShow( self ):
self.setVisible( not self.isVisible() )