diff options
Diffstat (limited to 'runtime')
-rw-r--r-- | runtime/inspector_server.rs | 27 | ||||
-rw-r--r-- | runtime/web_worker.rs | 6 | ||||
-rw-r--r-- | runtime/worker.rs | 6 |
3 files changed, 29 insertions, 10 deletions
diff --git a/runtime/inspector_server.rs b/runtime/inspector_server.rs index 6ba4d088d..99aff0644 100644 --- a/runtime/inspector_server.rs +++ b/runtime/inspector_server.rs @@ -65,13 +65,18 @@ impl InspectorServer { &self, module_url: String, js_runtime: &mut JsRuntime, + should_break_on_first_statement: bool, ) { let inspector = js_runtime.inspector(); let session_sender = inspector.get_session_sender(); let deregister_rx = inspector.add_deregister_handler(); - // TODO(bartlomieju): simplify - let info = - InspectorInfo::new(self.host, session_sender, deregister_rx, module_url); + let info = InspectorInfo::new( + self.host, + session_sender, + deregister_rx, + module_url, + should_break_on_first_statement, + ); self.register_inspector_tx.unbounded_send(info).unwrap(); } } @@ -229,6 +234,10 @@ async fn server( "Debugger listening on {}", info.get_websocket_debugger_url() ); + eprintln!("Visit chrome://inspect to connect to the debugger."); + if info.should_break_on_first_statement { + eprintln!("Deno is waiting for debugger to connect."); + } if inspector_map.borrow_mut().insert(info.uuid, info).is_some() { panic!("Inspector UUID already in map"); } @@ -336,7 +345,7 @@ async fn pump_websocket_messages( .map_err(|_| ()); let inbound_pump = async move { - let result = websocket_rx + let _result = websocket_rx .map_ok(|msg| msg.into_data()) .map_err(AnyError::from) .map_ok(|msg| { @@ -345,10 +354,9 @@ async fn pump_websocket_messages( .try_collect::<()>() .await; - match result { - Ok(_) => eprintln!("Debugger session ended"), - Err(err) => eprintln!("Debugger session ended: {}.", err), - }; + // Users don't care if there was an error coming from debugger, + // just about the fact that debugger did disconnect. + eprintln!("Debugger session ended"); Ok(()) }; @@ -364,6 +372,7 @@ pub struct InspectorInfo { pub new_session_tx: UnboundedSender<InspectorSessionProxy>, pub deregister_rx: oneshot::Receiver<()>, pub url: String, + pub should_break_on_first_statement: bool, } impl InspectorInfo { @@ -372,6 +381,7 @@ impl InspectorInfo { new_session_tx: mpsc::UnboundedSender<InspectorSessionProxy>, deregister_rx: oneshot::Receiver<()>, url: String, + should_break_on_first_statement: bool, ) -> Self { Self { host, @@ -380,6 +390,7 @@ impl InspectorInfo { new_session_tx, deregister_rx, url, + should_break_on_first_statement, } } diff --git a/runtime/web_worker.rs b/runtime/web_worker.rs index 24306fab5..e4c727977 100644 --- a/runtime/web_worker.rs +++ b/runtime/web_worker.rs @@ -442,7 +442,11 @@ impl WebWorker { }); if let Some(server) = options.maybe_inspector_server.clone() { - server.register_inspector(main_module.to_string(), &mut js_runtime); + server.register_inspector( + main_module.to_string(), + &mut js_runtime, + false, + ); } let (internal_handle, external_handle) = { diff --git a/runtime/worker.rs b/runtime/worker.rs index 087185729..3e245d331 100644 --- a/runtime/worker.rs +++ b/runtime/worker.rs @@ -161,7 +161,11 @@ impl MainWorker { }); if let Some(server) = options.maybe_inspector_server.clone() { - server.register_inspector(main_module.to_string(), &mut js_runtime); + server.register_inspector( + main_module.to_string(), + &mut js_runtime, + options.should_break_on_first_statement, + ); } Self { |