Skip to content
This repository was archived by the owner on Aug 28, 2020. It is now read-only.

Commit 2da15a6

Browse files
committed
support setting debugger features during a debugging session
1 parent e8c59e9 commit 2da15a6

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

pugdebug/server.py

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,8 @@ def run(self):
228228
(index, expression) = data
229229
response = self.__evaluate_expression(expression)
230230
self.expression_evaluated_signal.emit(index, response)
231+
elif action == 'set_debugger_features':
232+
self.__set_debugger_features()
231233
except OSError as error:
232234
self.disconnect()
233235
self.connection_error_signal.emit(action, error.strerror)
@@ -291,6 +293,10 @@ def evaluate_expression(self, index, expression):
291293
self.data = (index, expression)
292294
self.start()
293295

296+
def set_debugger_features(self):
297+
self.action = 'set_debugger_features'
298+
self.start()
299+
294300
def __post_start(self, data):
295301
post_start_response = {
296302
'init_breakpoints': self.__set_init_breakpoints(
@@ -429,6 +435,30 @@ def __evaluate_expression(self, expression):
429435

430436
return self.parser.parse_eval_message(response)
431437

438+
def __set_debugger_features(self):
439+
max_depth = int(get_setting('debugger/max_depth'))
440+
command = 'feature_set -i %d -n max_depth -v %d' % (
441+
self.__get_transaction_id(),
442+
max_depth
443+
)
444+
response = self.__send_command(command)
445+
446+
max_children = int(get_setting('debugger/max_children'))
447+
command = 'feature_set -i %d -n max_children -v %d' % (
448+
self.__get_transaction_id(),
449+
max_children
450+
)
451+
response = self.__send_command(command)
452+
453+
max_data = int(get_setting('debugger/max_data'))
454+
command = 'feature_set -i %d -n max_data -v %d' % (
455+
self.__get_transaction_id(),
456+
max_data
457+
)
458+
response = self.__send_command(command)
459+
460+
return True
461+
432462
def __send_command(self, command):
433463
self.socket.send(bytes(command + '\0', 'utf-8'))
434464
return self.__receive_message()

0 commit comments

Comments
 (0)