X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/3903760236c30e3b5ace7a4eefac3a269d68957c..5ba3f43ea354af8ad55bea84372a2bc834d8757c:/tools/lldbmacros/ktrace.py diff --git a/tools/lldbmacros/ktrace.py b/tools/lldbmacros/ktrace.py old mode 100644 new mode 100755 index 1f07e5d35..ac6ddbe34 --- a/tools/lldbmacros/ktrace.py +++ b/tools/lldbmacros/ktrace.py @@ -72,7 +72,7 @@ def GetKdebugTypefilter(typefilter): if print_class: subclasses[j] = element - # if any of the bits were set in a class, print the entire class + ## if any of the bits were set in a class, print the entire class if print_class: out_str += '{:<20s}'.format(GetKdebugClassName(i)) for element in subclasses: @@ -93,14 +93,14 @@ def ShowKdebugTypefilter(cmd_args=None): """ if cmd_args: - print GetKdebugTypefilter.header - print '-' * len(GetKdebugTypefilter.header) - typefilter = kern.GetValueFromAddress(cmd_args[0], 'typefilter_t') if unsigned(typefilter) == 0: raise ArgumentError('argument provided is NULL') - print GetKdebugTypefilter() + print GetKdebugTypefilter.header + print '-' * len(GetKdebugTypefilter.header) + + print GetKdebugTypefilter(typefilter) return typefilter = kern.globals.kdbg_typefilter @@ -110,3 +110,142 @@ def ShowKdebugTypefilter(cmd_args=None): print GetKdebugTypefilter.header print '-' * len(GetKdebugTypefilter.header) print GetKdebugTypefilter(typefilter) + +def GetKdebugStatus(): + """ Get a string summary of the kdebug subsystem. + """ + out = '' + + kdebug_flags = kern.globals.kd_ctrl_page.kdebug_flags + out += 'kdebug flags: {}\n'.format(xnudefines.GetStateString(xnudefines.kdebug_flags_strings, kdebug_flags)) + events = kern.globals.nkdbufs + buf_mb = events * (64 if kern.arch == 'x86_64' or kern.arch.startswith('arm64') else 32) / 1000000 + out += 'events allocated: {: