Esempio n. 1
0
 def _test_module_debug_info(self, use_proc_and_sys):
     old_use_proc_and_sys = (int(
         os.environ.get("DRGN_USE_PROC_AND_SYS_MODULES", "1")) != 0)
     with setenv("DRGN_USE_PROC_AND_SYS_MODULES",
                 "1" if use_proc_and_sys else "0"):
         if old_use_proc_and_sys == use_proc_and_sys:
             prog = self.prog
         else:
             prog = Program()
             prog.set_kernel()
             prog.load_default_debug_info()
         self.assertEqual(
             prog.symbol(self.SYMBOL).address, self.symbol_address)
Esempio n. 2
0
 def _test_by_pid(self, orc):
     old_orc = int(os.environ.get("DRGN_PREFER_ORC_UNWINDER", "0")) != 0
     with setenv("DRGN_PREFER_ORC_UNWINDER", "1" if orc else "0"):
         if orc == old_orc:
             prog = self.prog
         else:
             prog = Program()
             prog.set_kernel()
             prog.load_default_debug_info()
         pid = fork_and_pause()
         wait_until(lambda: proc_state(pid) == "S")
         self.assertIn("pause", str(prog.stack_trace(pid)))
         os.kill(pid, signal.SIGKILL)
         os.waitpid(pid, 0)