MCPcopy Create free account
hub / github.com/fabioz/PyDev.Debugger / internal_get_variable_json

Function internal_get_variable_json

_pydevd_bundle/pydevd_comm.py:777–813  ·  view source on GitHub ↗

:param VariablesRequest request:

(py_db, request)

Source from the content-addressed store, hash-verified

775
776@silence_warnings_decorator
777def internal_get_variable_json(py_db, request):
778 """
779 :param VariablesRequest request:
780 """
781 arguments = request.arguments # : :type arguments: VariablesArguments
782 variables_reference = arguments.variablesReference
783 scope = None
784 if isinstance_checked(variables_reference, ScopeRequest):
785 scope = variables_reference
786 variables_reference = variables_reference.variable_reference
787
788 fmt = arguments.format
789 if hasattr(fmt, "to_dict"):
790 fmt = fmt.to_dict()
791
792 variables = []
793 try:
794 try:
795 variable = py_db.suspended_frames_manager.get_variable(variables_reference)
796 except KeyError:
797 pass
798 else:
799 for child_var in variable.get_children_variables(fmt=fmt, scope=scope):
800 variables.append(child_var.get_var_data(fmt=fmt))
801 except:
802 try:
803 exc, exc_type, tb = sys.exc_info()
804 err = "".join(traceback.format_exception(exc, exc_type, tb))
805 variables = [{"name": "<error>", "value": err, "type": "<error>", "variablesReference": 0}]
806 except:
807 err = "<Internal error - unable to get traceback when getting variables>"
808 pydev_log.exception(err)
809 variables = []
810
811 body = VariablesResponseBody(variables)
812 variables_response = pydevd_base_schema.build_response(request, kwargs={"body": body})
813 py_db.writer.add_command(NetCommand(CMD_RETURN, 0, variables_response, is_json=True))
814
815
816class InternalGetVariable(InternalThreadCommand):

Callers

nothing calls this directly

Calls 11

isinstance_checkedFunction · 0.90
NetCommandClass · 0.90
get_var_dataMethod · 0.80
exceptionMethod · 0.80
to_dictMethod · 0.45
get_variableMethod · 0.45
appendMethod · 0.45
joinMethod · 0.45
add_commandMethod · 0.45

Tested by

no test coverage detected