def qtVersion(self): qtVersion = self.findValueByExpression('((void**)&%s)[2]' % self.qtHookDataSymbolName()) if qtVersion is None and self.qtCoreModuleName() is not None: try: versionValue = cdbext.call(self.qtCoreModuleName() + '!qVersion()') version = self.extractCString(self.fromNativeValue(versionValue).address()) (major, minor, patch) = version.decode('latin1').split('.') qtVersion = 0x10000 * int(major) + 0x100 * int(minor) + int(patch) except: pass if qtVersion is None: qtVersion = self.fallbackQtVersion self.qtVersion = lambda: qtVersion return qtVersion
def qtVersion(self): qtVersion = self.parseAndEvaluate('((void**)&%s)[2]' % self.qtHookDataSymbolName()).integer() if qtVersion is None and self.qtCoreModuleName() is not None: try: versionValue = cdbext.call(self.qtCoreModuleName() + '!qVersion()') version = self.extractCString(self.fromNativeValue(versionValue).address()) (major, minor, patch) = version.decode('latin1').split('.') qtVersion = 0x10000 * int(major) + 0x100 * int(minor) + int(patch) except: pass if qtVersion is None: qtVersion = self.fallbackQtVersion self.qtVersion = lambda: qtVersion return qtVersion
def nameForCoreId(self, id): for dll in ['Utilsd4', 'Utils4']: idName = cdbext.call('%s!Utils::nameForId(%d)' % (dll, id)) if idName is not None: break return self.fromNativeValue(idName)
def nameForCoreId(self, id): idName = cdbext.call('Cored4!Core::nameForId(%d)' % id) return self.fromNativeValue(idName)