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

Function internal_evaluate_expression

_pydevd_bundle/pydevd_comm.py:1324–1343  ·  view source on GitHub ↗

gets the value of a variable

(dbg, seq, thread_id, frame_id, expression, is_exec, trim_if_too_big, attr_to_set_result)

Source from the content-addressed store, hash-verified

1322
1323@silence_warnings_decorator
1324def internal_evaluate_expression(dbg, seq, thread_id, frame_id, expression, is_exec, trim_if_too_big, attr_to_set_result):
1325 """gets the value of a variable"""
1326 try:
1327 frame = dbg.find_frame(thread_id, frame_id)
1328 if frame is not None:
1329 result = pydevd_vars.evaluate_expression(dbg, frame, expression, is_exec)
1330 if attr_to_set_result != "":
1331 pydevd_vars.change_attr_expression(frame, attr_to_set_result, expression, dbg, result)
1332 else:
1333 result = None
1334
1335 xml = "<xml>"
1336 xml += pydevd_xml.var_to_xml(result, expression, trim_if_too_big)
1337 xml += "</xml>"
1338 cmd = dbg.cmd_factory.make_evaluate_expression_message(seq, xml)
1339 dbg.writer.add_command(cmd)
1340 except:
1341 exc = get_exception_traceback_str()
1342 cmd = dbg.cmd_factory.make_error_message(seq, "Error evaluating expression " + exc)
1343 dbg.writer.add_command(cmd)
1344
1345
1346def _set_expression_response(py_db, request, error_message):

Callers

nothing calls this directly

Calls 5

make_error_messageMethod · 0.80
find_frameMethod · 0.45
add_commandMethod · 0.45

Tested by

no test coverage detected