MCPcopy Index your code
hub / github.com/fabioz/PyDev.Debugger / write_set_breakpoints

Method write_set_breakpoints

tests_python/test_debugger_json.py:201–276  ·  view source on GitHub ↗

Adds a breakpoint.

(
        self,
        lines,
        filename=None,
        line_to_info=None,
        success=True,
        verified=True,
        send_launch_if_needed=True,
        expected_lines_in_response=None,
    )

Source from the content-addressed store, hash-verified

199 assert response.success
200
201 def write_set_breakpoints(
202 self,
203 lines,
204 filename=None,
205 line_to_info=None,
206 success=True,
207 verified=True,
208 send_launch_if_needed=True,
209 expected_lines_in_response=None,
210 ):
211 """
212 Adds a breakpoint.
213 """
214 if send_launch_if_needed and not self._sent_launch_or_attach:
215 self._auto_write_launch()
216
217 if isinstance(lines, int):
218 lines = [lines]
219
220 if line_to_info is None:
221 line_to_info = {}
222
223 if filename is None:
224 filename = self.writer.get_main_filename()
225
226 if isinstance(filename, bytes):
227 filename = filename.decode(file_system_encoding) # file is in the filesystem encoding but protocol needs it in utf-8
228 filename = filename.encode("utf-8")
229
230 source = pydevd_schema.Source(path=filename)
231 breakpoints = []
232 for line in lines:
233 condition = None
234 hit_condition = None
235 log_message = None
236
237 if line in line_to_info:
238 line_info = line_to_info.get(line)
239 condition = line_info.get("condition")
240 hit_condition = line_info.get("hit_condition")
241 log_message = line_info.get("log_message")
242
243 breakpoints.append(
244 pydevd_schema.SourceBreakpoint(line, condition=condition, hitCondition=hit_condition, logMessage=log_message).to_dict()
245 )
246
247 arguments = pydevd_schema.SetBreakpointsArguments(source, breakpoints)
248 request = pydevd_schema.SetBreakpointsRequest(arguments)
249
250 # : :type response: SetBreakpointsResponse
251 response = self.wait_for_response(self.write_request(request))
252 body = response.body
253
254 assert response.success == success
255
256 if success:
257 # : :type body: SetBreakpointsResponseBody
258 assert len(body.breakpoints) == len(lines)

Calls 8

_auto_write_launchMethod · 0.95
wait_for_responseMethod · 0.95
write_requestMethod · 0.95
get_main_filenameMethod · 0.45
decodeMethod · 0.45
getMethod · 0.45
appendMethod · 0.45
to_dictMethod · 0.45

Tested by

no test coverage detected