mirror of
https://github.com/ivellioscolin/pykd.git
synced 2025-04-21 21:03:23 +08:00
49 lines
1.1 KiB
Python
49 lines
1.1 KiB
Python
![]() |
|
||
|
|
||
|
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() )
|
||
|
|