[0.2.x] fixed : stkwalk.py

git-svn-id: https://pykd.svn.codeplex.com/svn@82486 9b283d60-5439-405e-af05-b73fd8c4d996
This commit is contained in:
SND\kernelnet_cp 2013-01-29 07:09:05 +00:00 committed by Mikhail I. Izmestev
parent 5c2f445786
commit 053b930846

View File

@ -25,8 +25,8 @@ def applayThreadFilter(thread,threadFilter,moduleFilter,funcFilter,printopt,stac
return True return True
else: else:
filterMatch = True filterMatch = True
if threadFilter and threadFilter( thread.Tcb, thread.Cid.UniqueThread ): if threadFilter and threadFilter( thread.Tcb, thread.Cid.UniqueThread ):
if printopt.showUnique == False: if printopt.showUnique == False:
return True return True
else: else:
@ -45,13 +45,13 @@ def applayThreadFilter(thread,threadFilter,moduleFilter,funcFilter,printopt,stac
if filterMatch == False and moduleFilter and moduleFilter( m, m.name() ): if filterMatch == False and moduleFilter and moduleFilter( m, m.name() ):
filterMatch = True filterMatch = True
if printopt.showUnique == False: if printopt.showUnique == False:
return False return True
sym = m.findSymbol( frame.instructionOffset, showDisplacement = False ) sym = m.findSymbol( frame.instructionOffset, showDisplacement = False )
if filterMatch == False and funcFilter and funcFilter( sym ): if filterMatch == False and funcFilter and funcFilter( sym ):
filterMatch = True filterMatch = True
if printopt.showUnique == False: if printopt.showUnique == False:
return False return True
if printopt.showUnique == True: if printopt.showUnique == True:
strStack += sym strStack += sym
@ -67,13 +67,13 @@ def applayThreadFilter(thread,threadFilter,moduleFilter,funcFilter,printopt,stac
if filterMatch == False and moduleFilter and moduleFilter( m, m.name() ): if filterMatch == False and moduleFilter and moduleFilter( m, m.name() ):
filterMatch = True filterMatch = True
if printopt.showUnique == False: if printopt.showUnique == False:
return False return True
sym = m.findSymbol( frame.instructionOffset, showDisplacement = False ) sym = m.findSymbol( frame.instructionOffset, showDisplacement = False )
if filterMatch == False and funcFilter and funcFilter( sym ): if filterMatch == False and funcFilter and funcFilter( sym ):
filterMatch = True filterMatch = True
if printopt.showUnique == False: if printopt.showUnique == False:
return False return True
if printopt.showUnique == True: if printopt.showUnique == True:
strStack += sym strStack += sym
@ -162,7 +162,7 @@ def printProcess(process,processFilter,threadFilter,moduleFilter,funcFilter,prin
filteredThreadLst.append( thread ) filteredThreadLst.append( thread )
if filteredThreadLst == []: if filteredThreadLst == []:
return return
dprintln( "Process %x" % process ) dprintln( "Process %x" % process )
dprintln( "Name: %s Pid: %#x" % ( processName, process.UniqueProcessId ) ) dprintln( "Name: %s Pid: %#x" % ( processName, process.UniqueProcessId ) )