X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/3903760236c30e3b5ace7a4eefac3a269d68957c..b226f5e54a60dc81db17b1260381d7dbfea3cdf1:/tools/lldbmacros/core/xnu_lldb_init.py diff --git a/tools/lldbmacros/core/xnu_lldb_init.py b/tools/lldbmacros/core/xnu_lldb_init.py old mode 100644 new mode 100755 index 41dd202b9..e7f494b96 --- a/tools/lldbmacros/core/xnu_lldb_init.py +++ b/tools/lldbmacros/core/xnu_lldb_init.py @@ -77,6 +77,7 @@ def __lldb_init_module(debugger, internal_dict): whitelist_trap_cmd = "settings set target.trap-handler-names %s %s" % (' '.join(intel_whitelist), ' '.join(arm_whitelist)) xnu_debug_path = base_dir_name + "/lldbmacros/xnu.py" xnu_load_cmd = "command script import \"%s\"" % xnu_debug_path + disable_optimization_warnings_cmd = "settings set target.process.optimization-warnings false" source_map_cmd = "" try: @@ -97,8 +98,28 @@ def __lldb_init_module(debugger, internal_dict): debugger.HandleCommand(whitelist_trap_cmd) print xnu_load_cmd debugger.HandleCommand(xnu_load_cmd) + print disable_optimization_warnings_cmd + debugger.HandleCommand(disable_optimization_warnings_cmd) if source_map_cmd: print source_map_cmd debugger.HandleCommand(source_map_cmd) + + load_kexts = True + if "XNU_LLDBMACROS_NOBUILTINKEXTS" in os.environ and len(os.environ['XNU_LLDBMACROS_NOBUILTINKEXTS']) > 0: + load_kexts = False + builtinkexts_path = os.path.join(os.path.dirname(self_path), "lldbmacros", "builtinkexts") + if os.access(builtinkexts_path, os.F_OK): + kexts = os.listdir(builtinkexts_path) + if len(kexts) > 0: + print "\nBuiltin kexts: %s\n" % kexts + if load_kexts == False: + print "XNU_LLDBMACROS_NOBUILTINKEXTS is set, not loading:\n" + for kextdir in kexts: + script = os.path.join(builtinkexts_path, kextdir, kextdir.split('.')[-1] + ".py") + import_kext_cmd = "command script import \"%s\"" % script + print "%s" % import_kext_cmd + if load_kexts: + debugger.HandleCommand(import_kext_cmd) + print "\n"