File tree 2 files changed +17
-1
lines changed
2 files changed +17
-1
lines changed Original file line number Diff line number Diff line change @@ -339,12 +339,14 @@ def show_raw_disassembly(self, raw):
339
339
self .is_raw_disassembly = raw
340
340
341
341
class DebugViewType (ViewType ):
342
+ # executed at plugin load time from from ui.py ViewType.registerViewType()
342
343
def __init__ (self ):
343
344
super (DebugViewType , self ).__init__ ("Debugger" , "Debugger" )
344
345
345
346
def getPriority (self , data , filename ):
346
347
return 1
347
348
349
+ # executed when user clicks "Debugger" from dropdown with binary views
348
350
def create (self , data , view_frame ):
349
351
return DebugView (view_frame , data )
350
352
Original file line number Diff line number Diff line change @@ -451,7 +451,15 @@ def valid_bp_toggle(bv, address):
451
451
#------------------------------------------------------------------------------
452
452
453
453
def cb_process_run (bv ):
454
+ def switch_view ():
455
+ dh = DockHandler .getActiveDockHandler ()
456
+ vf = dh .getViewFrame ()
457
+ vf .setViewType ('Debugger:' + bv .view_type )
458
+
454
459
debug_state = binjaplug .get_state (bv )
460
+ if debug_state .ui .debug_view is None :
461
+ execute_on_main_thread_and_wait (switch_view )
462
+
455
463
if debug_state .ui .debug_view is not None :
456
464
debug_state .ui .debug_view .controls .actionRun .trigger ()
457
465
@@ -519,7 +527,13 @@ def cb_control_step_return(bv):
519
527
520
528
def valid_process_run (bv ):
521
529
debug_state = binjaplug .get_state (bv )
522
- return debug_state .ui .debug_view is not None and debug_state .ui .debug_view .controls .actionRun .isEnabled ()
530
+
531
+ # if the debugger UI is up, the state with debuggee determines whether button is activated
532
+ if debug_state .ui .debug_view is not None :
533
+ return debug_state .ui .debug_view .controls .actionRun .isEnabled ()
534
+
535
+ # else, assume activated, initiate debug_state.ui on click
536
+ return True
523
537
524
538
def valid_process_restart (bv ):
525
539
debug_state = binjaplug .get_state (bv )
You can’t perform that action at this time.
0 commit comments