From 1b3ef5f68f703586390bb51586dbe26687eb3024 Mon Sep 17 00:00:00 2001 From: Anton Nikolaev Date: Mon, 27 Jan 2020 07:43:37 -0800 Subject: [PATCH] Update Flipper Debugging docs Summary: Updated "Debugging" page in Flipper docs: added instructions about debugging from Visual Studio Code and Google Chrome. Reviewed By: mweststrate Differential Revision: D19578864 fbshipit-source-id: c88c8278feb7c90fe77bde1d883c73079f2147f9 --- docs/assets/debugging-from-google-chrome.png | Bin 0 -> 32412 bytes docs/assets/debugging-from-vscode.png | Bin 0 -> 35674 bytes docs/extending/debugging.md | 16 ++++++++++++++++ 3 files changed, 16 insertions(+) create mode 100644 docs/assets/debugging-from-google-chrome.png create mode 100644 docs/assets/debugging-from-vscode.png diff --git a/docs/assets/debugging-from-google-chrome.png b/docs/assets/debugging-from-google-chrome.png new file mode 100644 index 0000000000000000000000000000000000000000..d62b5bf92e5826b7184b2466bfff4e34ae7f4337 GIT binary patch literal 32412 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 literal 0 HcmV?d00001 diff --git a/docs/assets/debugging-from-vscode.png b/docs/assets/debugging-from-vscode.png new file mode 100644 index 0000000000000000000000000000000000000000..90ed97d7995528fa2b8c28282241a1107c87b8ee GIT binary patch literal 35674 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 literal 0 HcmV?d00001 diff --git a/docs/extending/debugging.md b/docs/extending/debugging.md index 2b343c18c..9005f387b 100644 --- a/docs/extending/debugging.md +++ b/docs/extending/debugging.md @@ -3,12 +3,28 @@ id: debugging title: Debugging --- +## Built-in Developer Tools + Flipper is built on Electron which itself is built on Chromium. This means we can debug Flipper using Chrome's developer tools. Flipper will also automatically install the React devtools extension allowing you to have better insight into what is going on in your plugin. You can open the dev tools from the menu with `View` > `Toggle Developer Tools` or pressing ⌥⌘I on a Mac. In addition to helping you with the JavaScript, the JS console will also display uncaught exceptions thrown from the client plugin in response to Flipper method calls. +## Google Chrome Developer Tools + +As an alternative to using built-in Developer Tools you can also attach to the running Flipper instance from Google Chrome Developer Tools. Sometimes this is useful, because the version of Dev Tools in Google Chrome is more recent than the embedded one, and it is possible to easily install additional extensions if required. + +To attach the running Flipper instance open new tab in Google Chrome, navigate to "http://localhost:9122" and choose "Flipper" in the opened list. + +![Attach From Google Chrome](/docs/assets/debugging-from-google-chrome.png) + +## Visual Studio Code + +If you prefer to use the same editor for both coding and debugging, you can attach to the running Flipper instance for debugging right from Visual Studio Code. To do this, start Flipper in development mode (`yarn start`), select `Debug and Run` tab in VSCode, and run task `Attach to Running Renderer`. By default this task is set as the first one,so you can just press `F5` to run it. + +![Attach From Visual Studio Code](/docs/assets/debugging-from-vscode.png) + ## Plugin missing If a plugin you created is not showing up there might be two potential classes of problems: Either there is a problem on the mobile side or on the desktop side. Understanding where the problem is rooted helps debugging it.