def varprint_start_no_create(self, rank, varobj, name, max_depth=gdbconf.varprint_max_depth, max_children=gdbconf.varprint_max_children, reset_maxes=False): """Start a varprint sequence where we have already created the variable object.""" v_id = self.varprint_id self.varprint_id += 1 self.varprint_stacks[v_id] = [(varobj, 0)] branch_depth = max_depth = VariableObjectManager.get_name_depth(name) def _list_handler(record): return self.varprint_dfs(record, rank, v_id, name, max_depth=max_depth, max_children=max_children, reset_maxes=reset_maxes, branch_depth=branch_depth, branch_name=name) tokens = self.run_gdb_command( Command("var-list-children", args=("1", '"' + varobj.name + '"')), rank) self.be.add_token_handler(tokens[rank], _list_handler)
def varprint_start(self, rank, name, max_depth = gdbconf.varprint_max_depth, max_children = gdbconf.varprint_max_children, reset_maxes = False): """Start a varprint command sequence by creating the varobj in GDB.""" v_id = self.varprint_id self.varprint_id += 1 base_name = VariableObjectManager.get_base_name(name) branch_depth = max_depth + VariableObjectManager.get_name_depth(name) def _list_handler(record): return self.varprint_dfs(record, rank, v_id, name, max_depth = max_depth, max_children = max_children, reset_maxes = False, branch_depth = branch_depth, branch_name = name) def _create_handler(record): varobj = VariableObjectManager.create_var_obj(record.results) if not varobj: # Bad variable name. return True if not self.varobjs[rank].add_var_obj(varobj): print "Could not add varobj." if int(varobj.num_child) > 0 or varobj.is_dynamic: # Set up our stack. self.varprint_stacks[v_id] = [(varobj, 0)] tokens = self.run_gdb_command(Command("var-list-children", args = ("1", record.results["name"])), rank) self.be.add_token_handler(tokens[rank], _list_handler) else: self.comm.send(GDBMessage(VARPRINT_RES_MSG, varobj = varobj, rank = rank, err = False), self.comm.frontend) tokens = self.run_gdb_command(Command("var-create", args = (base_name, "*", base_name)), rank) self.be.add_token_handler(tokens[rank], _create_handler)
def varprint_start_no_create(self, rank, varobj, name, max_depth = gdbconf.varprint_max_depth, max_children = gdbconf.varprint_max_children, reset_maxes = False): """Start a varprint sequence where we have already created the variable object.""" v_id = self.varprint_id self.varprint_id += 1 self.varprint_stacks[v_id] = [(varobj, 0)] branch_depth = max_depth = VariableObjectManager.get_name_depth(name) def _list_handler(record): return self.varprint_dfs(record, rank, v_id, name, max_depth = max_depth, max_children = max_children, reset_maxes = reset_maxes, branch_depth = branch_depth, branch_name = name) tokens = self.run_gdb_command(Command("var-list-children", args = ("1", '"' + varobj.name + '"')), rank) self.be.add_token_handler(tokens[rank], _list_handler)
def varprint_start(self, rank, name, max_depth=gdbconf.varprint_max_depth, max_children=gdbconf.varprint_max_children, reset_maxes=False): """Start a varprint command sequence by creating the varobj in GDB.""" v_id = self.varprint_id self.varprint_id += 1 base_name = VariableObjectManager.get_base_name(name) branch_depth = max_depth + VariableObjectManager.get_name_depth(name) def _list_handler(record): return self.varprint_dfs(record, rank, v_id, name, max_depth=max_depth, max_children=max_children, reset_maxes=False, branch_depth=branch_depth, branch_name=name) def _create_handler(record): varobj = VariableObjectManager.create_var_obj(record.results) if not varobj: # Bad variable name. return True if not self.varobjs[rank].add_var_obj(varobj): print "Could not add varobj." if int(varobj.num_child) > 0 or varobj.is_dynamic: # Set up our stack. self.varprint_stacks[v_id] = [(varobj, 0)] tokens = self.run_gdb_command( Command("var-list-children", args=("1", record.results["name"])), rank) self.be.add_token_handler(tokens[rank], _list_handler) else: self.comm.send( GDBMessage(VARPRINT_RES_MSG, varobj=varobj, rank=rank, err=False), self.comm.frontend) tokens = self.run_gdb_command( Command("var-create", args=(base_name, "*", base_name)), rank) self.be.add_token_handler(tokens[rank], _create_handler)