@@ -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