<!DOCTYPE html> <html lang="en"> <!-- !!! WARNING !!! This file was auto-generated from readme/debugging.md and any manual change made to it will be overwritten. To make a change to this file please modify the source Markdown file: https://github.com/laurent22/joplin/blob/dev/readme/debugging.md --> <head> <!-- Donate button A/B testing --> <script async src="https://www.googleoptimize.com/optimize.js?id=OPT-PW3ZPK3"></script> <meta charset="utf-8" http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> <link rel="icon" href="/images/favicon.png" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="theme-color" content="#000000" /> <meta name="description" content="Joplin, the open source note-taking application" /> <link rel="stylesheet" href="/css/bootstrap5.0.2.min.css" as="style" /> <link rel="stylesheet" href="/css/fontawesome-all.min.css?t=1629454276652"> <link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap" rel="stylesheet" as="style" media="all" onload="this.media='all'; this.onload = null" /> <link rel="stylesheet" href="/css/site.css?t=1629454276652" as="style" /> <title>How to enable debugging | Joplin</title> <script src="/js/jquery-3.6.0.min.js" rel="preload" as="script" ></script> </head> <body class="website-env-prod"> <div class="container-fluid generic-template -page" id="main-container"> <div class=" navbar-main white-bg" id="nav-section"> <div class="container"> <div class="row"> <div class="col-3"> <a href="/"> <img src="/images/logo-text-blue.svg" alt="" id="top-logo" width="180" /> </a> </div> <div class="col-9 text-right d-none d-md-block"> <a href="/help/" class="fw500">Help</a> <a href="https://discourse.joplinapp.org/" class="fw500">Forum</a> <a href="/plans/" class="button-link btn-trans plans-button">Joplin Cloud</a><a class="button-link btn-blue sponsor-button" href="/donate"> <i class="fas fa-heart heart-full"></i><i class="far fa-heart heart-line"></i> Support us </a> </div> <div class="col-9 text-right d-block d-md-none navbar-mobile-content"> <a class="button-link btn-blue sponsor-button" href="/donate"> <i class="fas fa-heart heart-full"></i><i class="far fa-heart heart-line"></i> Support us </a> <span class="pointer" ><img src="/images/mobile-menu-black-open-icon.png" id="open-menu-mobile" alt="" /></span> <div id="menu-mobile"> <div> <div class="text-right"> <img src="/images/close-icon.png" alt="" class="pointer" id="close-menu-mobile" /> </div> <div class="text-center menu-mobile-top"> <a href="https://discourse.joplinapp.org/" class="fw500 mobile-menu-link">Forum</a> <a href="/help/" class="fw500 mobile-menu-link">Help</a> </div> <div class="menu-mobile-buttons"> <a href="/plans/" class="button-link btn-trans plans-button">Joplin Cloud</a><a class="button-link btn-blue sponsor-button" href="/donate"> <i class="fas fa-heart heart-full"></i><i class="far fa-heart heart-line"></i> Support us </a> </div> </div> <div id="toc-mobile"><div><ul> <li> <p>Applications</p> <ul> <li><a href="/desktop/">Desktop application</a></li> <li><a href="/mobile/">Mobile applications</a></li> <li><a href="/terminal/">Terminal application</a></li> <li><a href="/clipper/">Web Clipper</a></li> </ul> </li> <li> <p>Support</p> <ul> <li><a href="https://discourse.joplinapp.org">Joplin Forum</a></li> <li><a href="/markdown/">Markdown Guide</a></li> <li><a href="/e2ee/">How to enable end-to-end encryption</a></li> <li><a href="/conflict/">What is a conflict?</a></li> <li><a href="/debugging/">How to enable debug mode</a></li> <li><a href="/rich_text_editor/">About the Rich Text editor limitations</a></li> <li><a href="/faq/">FAQ</a></li> </ul> </li> <li> <p>Joplin Cloud</p> <ul> <li><a href="/share_notebook/">Sharing a notebook</a></li> <li><a href="/publish_note/">Publishing a note</a></li> </ul> </li> <li> <p>Joplin API - Get Started</p> <ul> <li><a href="/api/overview/">Joplin API Overview</a></li> <li><a href="/api/get_started/plugins/">Plugin development</a></li> <li><a href="/api/tutorials/toc_plugin/">Plugin tutorial</a></li> </ul> </li> <li> <p>Joplin API - References</p> <ul> <li><a href="https://joplinapp.org/api/references/plugin_api/classes/joplin.html">Plugin API</a></li> <li><a href="/api/references/rest_api/">Data API</a></li> <li><a href="/api/references/plugin_manifest/">Plugin manifest</a></li> <li><a href="/api/references/plugin_loading_rules/">Plugin loading rules</a></li> <li><a href="/api/references/plugin_theming/">Plugin theming</a></li> </ul> </li> <li> <p>Development</p> <ul> <li><a href="https://github.com/laurent22/joplin/blob/dev/BUILD.md">How to build the apps</a></li> <li><a href="/spec/e2ee/">End-to-end encryption spec</a></li> <li><a href="/spec/history/">Note History spec</a></li> <li><a href="/spec/sync_lock/">Sync Lock spec</a></li> <li><a href="/spec/plugins/">Plugin Architecture spec</a></li> <li><a href="/spec/search_sorting/">Search Sorting spec</a></li> <li><a href="/spec/server_file_url_format/">Server: File URL Format</a></li> <li><a href="/spec/server_delta_sync/">Server: Delta Sync</a></li> <li><a href="/spec/server_sharing/">Server: Sharing</a></li> </ul> </li> <li> <p>Google Summer of Code 2021</p> <ul> <li><a href="/gsoc2021/index/">Google Summer of Code 2021</a></li> <li><a href="/gsoc2021/pull_request_guidelines/">How to submit a GSoC pull request</a></li> <li><a href="/gsoc2021/ideas/">Project Ideas</a></li> </ul> </li> <li> <p>About</p> <ul> <li><a href="/changelog/">Changelog (Desktop App)</a></li> <li><a href="/changelog_cli/">Changelog (CLI App)</a></li> <li><a href="/changelog_server/">Changelog (Server)</a></li> <li><a href="/stats/">Stats</a></li> <li><a href="/donate/">Donate</a></li> </ul> </li> </ul> </div></div> <div> <p class="light-blue mobile-menu-link-bottom text-center"> Copyright © 2016-2021 Laurent Cozic <br/> <a href="/privacy/" class="fw500">Privacy Policy</a> </p> </div> </div> </div> </div> </div> </div> <div class="help-page-container page-debugging"> <div class="container"> <div class="row content-wrapper"> <div id="toc"><div><ul> <li> <p>Applications</p> <ul> <li><a href="/desktop/">Desktop application</a></li> <li><a href="/mobile/">Mobile applications</a></li> <li><a href="/terminal/">Terminal application</a></li> <li><a href="/clipper/">Web Clipper</a></li> </ul> </li> <li> <p>Support</p> <ul> <li><a href="https://discourse.joplinapp.org">Joplin Forum</a></li> <li><a href="/markdown/">Markdown Guide</a></li> <li><a href="/e2ee/">How to enable end-to-end encryption</a></li> <li><a href="/conflict/">What is a conflict?</a></li> <li><a href="/debugging/">How to enable debug mode</a></li> <li><a href="/rich_text_editor/">About the Rich Text editor limitations</a></li> <li><a href="/faq/">FAQ</a></li> </ul> </li> <li> <p>Joplin Cloud</p> <ul> <li><a href="/share_notebook/">Sharing a notebook</a></li> <li><a href="/publish_note/">Publishing a note</a></li> </ul> </li> <li> <p>Joplin API - Get Started</p> <ul> <li><a href="/api/overview/">Joplin API Overview</a></li> <li><a href="/api/get_started/plugins/">Plugin development</a></li> <li><a href="/api/tutorials/toc_plugin/">Plugin tutorial</a></li> </ul> </li> <li> <p>Joplin API - References</p> <ul> <li><a href="https://joplinapp.org/api/references/plugin_api/classes/joplin.html">Plugin API</a></li> <li><a href="/api/references/rest_api/">Data API</a></li> <li><a href="/api/references/plugin_manifest/">Plugin manifest</a></li> <li><a href="/api/references/plugin_loading_rules/">Plugin loading rules</a></li> <li><a href="/api/references/plugin_theming/">Plugin theming</a></li> </ul> </li> <li> <p>Development</p> <ul> <li><a href="https://github.com/laurent22/joplin/blob/dev/BUILD.md">How to build the apps</a></li> <li><a href="/spec/e2ee/">End-to-end encryption spec</a></li> <li><a href="/spec/history/">Note History spec</a></li> <li><a href="/spec/sync_lock/">Sync Lock spec</a></li> <li><a href="/spec/plugins/">Plugin Architecture spec</a></li> <li><a href="/spec/search_sorting/">Search Sorting spec</a></li> <li><a href="/spec/server_file_url_format/">Server: File URL Format</a></li> <li><a href="/spec/server_delta_sync/">Server: Delta Sync</a></li> <li><a href="/spec/server_sharing/">Server: Sharing</a></li> </ul> </li> <li> <p>Google Summer of Code 2021</p> <ul> <li><a href="/gsoc2021/index/">Google Summer of Code 2021</a></li> <li><a href="/gsoc2021/pull_request_guidelines/">How to submit a GSoC pull request</a></li> <li><a href="/gsoc2021/ideas/">Project Ideas</a></li> </ul> </li> <li> <p>About</p> <ul> <li><a href="/changelog/">Changelog (Desktop App)</a></li> <li><a href="/changelog_cli/">Changelog (CLI App)</a></li> <li><a href="/changelog_server/">Changelog (Server)</a></li> <li><a href="/stats/">Stats</a></li> <li><a href="/donate/">Donate</a></li> </ul> </li> </ul> </div></div> <div class="main-content"> <div class="alert alert-danger alert-env-dev" role="alert"> Running in prod mode! </div> <div class="donate-links"> <p><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=E8JMYD2LQ8MMA&lc=GB&item_name=Joplin+Development&currency_code=EUR&bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted"><img src="https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/badges/Donate-PayPal-green.svg" alt="Donate using PayPal"></a> <a href="https://github.com/sponsors/laurent22/"><img src="https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/badges/GitHub-Badge.svg" alt="Sponsor on GitHub"></a> <a href="https://www.patreon.com/joplin"><img src="https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/badges/Patreon-Badge.svg" alt="Become a patron"></a> <a href="https://joplinapp.org/donate/#donations"><img src="https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/badges/Donate-IBAN.svg" alt="Donate using IBAN"></a></p> </div> <h1>How to enable debugging<a name="how-to-enable-debugging" href="#how-to-enable-debugging" class="heading-anchor">🔗</a></h1> <p>It is possible to get the apps to display or log more information that might help debug various issues.</p> <h2>Desktop application<a name="desktop-application" href="#desktop-application" class="heading-anchor">🔗</a></h2> <p>If the application starts with a white screen, open <strong>View > Toggle Developer Tools</strong> in the menu. Then check in the console if there is any error or warning and please let us know about it.</p> <p>Otherwise, follow these instructions:</p> <ul> <li>Click on menu <strong>Help > Open Profile Directory</strong> and add a file named "flags.txt" in your directory with the following content: <code>--open-dev-tools --debug --log-level debug</code></li> <li>Restart the application</li> <li>The development tools should now be opened. Click the "Console" tab</li> <li>Now repeat the action that was causing problem. The console might output warnings or errors - please add them to the GitHub issue. Also open log.txt in the config folder and if there is any error or warning, please also add them to the issue.</li> </ul> <h2>CLI application<a name="cli-application" href="#cli-application" class="heading-anchor">🔗</a></h2> <ul> <li>Start the app with <code>joplin --debug --log-level debug</code></li> <li>Check log.txt as specified above for the desktop application and attach the log to the GitHub issue (or just the warnings/errors if any). The profile directory would be in <code>~/.config/joplin</code>.</li> </ul> <h2>Mobile application<a name="mobile-application" href="#mobile-application" class="heading-anchor">🔗</a></h2> <ul> <li>In the <a href="/config_screen/">Configuration screen</a>, press on the <strong>Log button</strong> and post a screenshot of any error/warning.</li> </ul> <h1>Creating a low-level bug report on Android<a name="creating-a-low-level-bug-report-on-android" href="#creating-a-low-level-bug-report-on-android" class="heading-anchor">🔗</a></h1> <p><a href="https://developer.android.com/studio/debug/bug-report">https://developer.android.com/studio/debug/bug-report</a></p> <p>To get a bug report directly from your device, do the following:</p> <ul> <li>Be sure you have <a href="https://developer.android.com/studio/debug/dev-options">Developer Options</a> enabled.</li> <li>In Developer options, tap Take bug report.</li> <li>Select the type of bug report you want and tap Report.</li> </ul> <p>After a moment you get a notification that the bug report is ready. To share the bug report, tap the notification.</p> <h1>Creating a low-level bug report on iOS<a name="creating-a-low-level-bug-report-on-ios" href="#creating-a-low-level-bug-report-on-ios" class="heading-anchor">🔗</a></h1> <p>Some crashes cannot be investigated using Joplin's own tools. In that case, it can be very helpful to provide a native iOS crash report.</p> <p>For this, please follow these instructions:</p> <p>You can send it to this address <a href="https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/AdresseSupport.png">https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/AdresseSupport.png</a></p> <p><a href="https://developer.apple.com/library/content/qa/qa1747/_index.html">https://developer.apple.com/library/content/qa/qa1747/_index.html</a></p> <p>Getting Crash Logs Directly From a Device Without Xcode</p> <p>Your users can retrieve crash reports from their device and send them to you via email by following these instructions.</p> <p>(It is not possible to get device console logs directly from a device)</p> <ol> <li> <p>Open Settings app</p> </li> <li> <p>Go to Privacy, then Diagnostics & Usage</p> </li> <li> <p>Select Diagnostics & Usage Data</p> </li> <li> <p>Locate the log for the crashed app. The logs will be named in the format: <code><AppName>_<DateTime>_<DeviceName></code></p> </li> <li> <p>Select the desired log. Then, using the text selection UI select the entire text of the log. Once the text is selected, tap Copy</p> </li> <li> <p>Paste the copied text to Mail and send to an email address as desired</p> </li> </ol> <div class="bottom-links"> <a href="https://github.com/laurent22/joplin/blob/dev/readme/debugging.md"> <i class="fab fa-github"></i> Improve this doc </a> </div> </div> </div> </div> </div> <footer class="darkblue-bg"> <div class="container"> <div class="row"> <div class="col-3 d-none d-md-block"> <img src="/images/logo-text.svg" alt="" width="150" /> </div> </div> <div class="row"> <div class="col-12"> <hr /> </div> </div> <div class="row"> <div class="col-12 col-md-6"> <img src="/images/logo-text.svg" width="120" class="img-center d-block d-md-none" alt="" /> <br class="d-block d-md-none" /> <p class="text-center-sm">Copyright © 2016-2021 Laurent Cozic</p> </div> <div class="col-12 col-md-6 right-links"> <p class="text-right text-center-sm"> <a href="https://github.com/laurent22/joplin/" class="github-link"><i class="fab fa-github"></i> GitHub Repository</a> <a href="/privacy/">Privacy Policy</a> </p> </div> </div> </div> </footer> </div> <script src="/js/script.js?t=1629454276652"></script> <script> if (window.location.hostname !== 'localhost') { (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-103586105-1', 'auto'); ga('send', 'pageview'); } </script> </body> </html>