2018-04-04 21:48:42 +02:00
<!doctype html>
< html >
< head >
2018-06-11 22:18:34 +01:00
< title > Debugging | Joplin</ title >
2018-04-04 21:48:42 +02:00
< meta charset = "utf-8" >
< meta http-equiv = "X-UA-Compatible" content = "IE=edge" >
< meta name = "viewport" content = "width=device-width, initial-scale=1" >
2019-04-18 15:00:32 +01:00
< link rel = "stylesheet" href = "https://joplinapp.org/css/bootstrap.min.css" >
2018-04-04 21:48:42 +02:00
< link rel = "shortcut icon" type = "image/x-icon" href = "favicon.ico" >
2019-04-18 15:00:32 +01:00
< link rel = "stylesheet" href = "https://joplinapp.org/css/fontawesome-all.min.css" >
< script src = "https://joplinapp.org/js/jquery-3.2.1.slim.min.js" ></ script >
2018-04-04 21:48:42 +02:00
< style >
body {
background-color : #F1F1F1 ;
color : #333333 ;
}
table {
margin-bottom : 1 em ;
}
td , th {
padding : .8 em ;
border : 1 px solid #ccc ;
}
h1 , h2 {
border-bottom : 1 px solid #eaecef ;
padding-bottom : 0.3 em ;
font-family : - apple-system , BlinkMacSystemFont , "Segoe UI" , Helvetica , Arial , sans-serif , "Apple Color Emoji" , "Segoe UI Emoji" , "Segoe UI Symbol" ;
font-weight : 600 ;
font-size : 2 em ;
margin-bottom : 16 px ;
}
h2 {
font-size : 1.6 em ;
}
h3 {
font-size : 1.3 em ;
}
code {
color : black ;
background-color : #eee ;
border : 1 px solid #ccc ;
font-size : .85 em ;
}
pre code {
border : none ;
}
pre {
font-size : .85 em ;
}
# toc ul {
margin-bottom : 10 px ;
}
# toc {
padding-bottom : 1 em ;
}
. title-icon {
height : 2 em ;
}
. sub-title {
font-weight : bold ;
font-size : 1.5 em ;
}
. container {
background-color : white ;
padding : 0 ;
box-shadow : 0 10 px 20 px #888888 ;
}
table . screenshots {
margin-top : 2 em ;
margin-bottom : 2 em ;
}
table . screenshots th {
height : 3 em ;
text-align : center ;
}
table . screenshots th ,
table . screenshots td {
border : 1 px solid #C2C2C2 ;
}
img [ align = "left" ] {
margin-right : 10 px ;
margin-bottom : 10 px ;
}
. mobile-screenshot {
height : 40 em ;
padding : 1 em ;
}
. cli-screenshot-wrapper {
background-color : black ;
vertical-align : top ;
padding : 1 em 2 em 1 em 1 em ;
}
. cli-screenshot {
font-family : "Monaco" , "Inconsolata" , "CONSOLAS" , "Deja Vu Sans Mono" , "Droid Sans Mono" , "Andale Mono" , monospace ;
background-color : black ;
color : white ;
border : none ;
}
. cli-screenshot . prompt {
color : #48C2F0 ;
}
. top-screenshot {
margin-top : 2 em ;
text-align : center ;
}
. header {
position : relative ;
padding-left : 2 em ;
padding-right : 2 em ;
padding-top : 1 em ;
padding-bottom : 1 em ;
color : white ;
background-color : #2B2B3D ;
}
. header a h1 {
color : white ;
}
. content {
padding-left : 2 em ;
padding-right : 2 em ;
padding-bottom : 2 em ;
padding-top : 2 em ;
}
. forkme {
position : absolute ;
right : 0 ;
top : 0 ;
}
. nav-wrapper {
position : relative ;
width : inherit ;
}
. nav {
background-color : black ;
display : table ;
width : inherit ;
}
. nav . sticky {
position : fixed ;
top : 0 ;
width : inherit ;
box-shadow : 0 0 10 px #000000 ;
}
. nav a {
color : white ;
display : inline-block ;
padding : .6 em .9 em .6 em .9 em ;
}
. nav ul {
padding-left : 2 em ;
margin-bottom : 0 ;
display : table-cell ;
2018-04-28 11:40:27 +02:00
min-width : 250 px ;
2018-04-04 21:48:42 +02:00
}
. nav ul li {
display : inline-block ;
padding : 0 ;
}
. nav li . selected {
background-color : #222 ;
font-weight : bold ;
}
. nav-right {
display : table-cell ;
width : 100 % ;
text-align : right ;
vertical-align : middle ;
line-height : 0 ;
}
. nav-right . share-btn {
display : none ;
}
. nav-right . small-share-btn {
display : none ;
}
. footer {
padding-top : 1 em ;
border-top : 1 px solid #d4d4d4 ;
margin-top : 2 em ;
color : gray ;
font-size : .9 em ;
}
2019-05-02 23:54:52 +01:00
a . heading-anchor {
display : inline-block ;
opacity : 0 ;
width : 1.3 em ;
font-size : 0.7 em ;
margin-left : -1.3 em ;
line-height : 1 em ;
text-decoration : none ;
}
a . heading-anchor : hover ,
h1 : hover a . heading-anchor ,
h2 : hover a . heading-anchor ,
h3 : hover a . heading-anchor ,
h4 : hover a . heading-anchor ,
h5 : hover a . heading-anchor ,
h6 : hover a . heading-anchor {
opacity : 1 ;
}
2018-04-04 21:48:42 +02:00
@ media all and ( min-width : 400px ) {
. nav-right . share-btn {
display : inline-block ;
}
. nav-right . small-share-btn {
display : none ;
}
}
</ style >
</ head >
< body >
< div class = "container" >
< div class = "header" >
2019-04-18 15:00:32 +01:00
< a class = "forkme" href = "https://github.com/laurent22/joplin" >< img src = "https://joplinapp.org/images/ForkMe.png" /></ a >
< a href = "https://joplinapp.org" >< h1 id = "joplin" >< img class = "title-icon" src = "https://joplinapp.org/images/Icon512.png" > oplin</ h1 ></ a >
2018-04-04 21:48:42 +02:00
< p class = "sub-title" > An open source note taking and to-do application with synchronisation capabilities.</ p >
</ div >
< div class = "nav-wrapper" >
< div class = "nav" >
< ul >
2019-04-18 15:00:32 +01:00
< li class = "" >< a href = "https://joplinapp.org/" title = "Home" >< i class = "fa fa-home" ></ i ></ a ></ li >
2019-05-22 16:49:57 +01:00
< li >< a href = "https://discourse.joplinapp.org" title = "Forum" > Forum</ a ></ li >
2018-04-25 19:24:13 +02:00
< li >< a class = "help" href = "#" title = "Menu" > Menu</ a ></ li >
2018-04-04 21:48:42 +02:00
</ ul >
< div class = "nav-right" >
2018-06-15 19:28:58 +01:00
<!--
2019-04-18 15:00:32 +01:00
<iframe class="share-btn" src="https://www.facebook.com/plugins/share_button.php?href=http%3A%2F%2Fjoplinapp.org&layout=button&size=small&mobile_iframe=true&width=60&height=20&appId" width="60" height="20" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowTransparency="true"></iframe>
<iframe class="share-btn" src="https://platform.twitter.com/widgets/tweet_button.html?url=http%3A%2F%2Fjoplinapp.org" width="62" height="20" title="Tweet" style="border: 0; overflow: hidden;"></iframe>
2018-06-15 19:28:58 +01:00
-->
2018-04-04 21:48:42 +02:00
< iframe class = "share-btn share-btn-github" src = "https://ghbtns.com/github-btn.html?user=laurent22&repo=joplin&type=star&count=true" frameborder = "0" scrolling = "0" width = "100px" height = "20px" ></ iframe >
</ div >
</ div >
</ div >
< div class = "content" >
< div id = "toc" >< ul >
< li >
< p > Applications</ p >
< ul >
2019-04-18 15:00:32 +01:00
< li >< a href = "https://joplinapp.org/desktop" > Desktop application</ a ></ li >
< li >< a href = "https://joplinapp.org/mobile" > Mobile applications</ a ></ li >
< li >< a href = "https://joplinapp.org/terminal" > Terminal application</ a ></ li >
< li >< a href = "https://joplinapp.org/clipper" > Web Clipper</ a ></ li >
2018-04-04 21:48:42 +02:00
</ ul >
</ li >
< li >
< p > Support</ p >
< ul >
2019-05-22 16:49:57 +01:00
< li >< a href = "https://discourse.joplinapp.org" > Joplin Forum</ a ></ li >
2019-04-18 15:00:32 +01:00
< li >< a href = "https://joplinapp.org/e2ee" > How to enable end-to-end encryption</ a ></ li >
< li >< a href = "https://joplinapp.org/spec" > End-to-end encryption spec</ a ></ li >
< li >< a href = "https://joplinapp.org/debugging" > How to enable debug mode</ a ></ li >
< li >< a href = "https://joplinapp.org/api" > API documentation</ a ></ li >
< li >< a href = "https://joplinapp.org/faq" > FAQ</ a ></ li >
2018-04-04 21:48:42 +02:00
</ ul >
</ li >
< li >
< p > About</ p >
< ul >
2019-05-13 23:23:57 +01:00
< li >< a href = "https://joplinapp.org/changelog" > Changelog (Desktop App)</ a ></ li >
< li >< a href = "https://joplinapp.org/changelog_cli" > Changelog (CLI App)</ a ></ li >
2019-04-18 15:00:32 +01:00
< li >< a href = "https://joplinapp.org/stats" > Stats</ a ></ li >
< li >< a href = "https://joplinapp.org/donate" > Donate</ a ></ li >
2018-04-04 21:48:42 +02:00
</ ul >
</ li >
</ ul >
</ div >
2019-05-02 23:54:52 +01:00
< h1 >< a name = "how-to-enable-debugging" href = "#how-to-enable-debugging" class = "heading-anchor" > 🔗</ a > How to enable debugging</ h1 >
2018-04-04 21:48:42 +02:00
< p > It is possible to get the apps to display or log more information that might help debug various issues.</ p >
2019-05-02 23:54:52 +01:00
< h2 >< a name = "desktop-application" href = "#desktop-application" class = "heading-anchor" > 🔗</ a > Desktop application</ h2 >
2018-04-04 21:48:42 +02:00
< ul >
< li > Add a file named " flags.txt" in the config directory (should be < code > ~/.config/joplin-desktop</ code > or < code > c:\Users\YOUR_NAME\.config\joplin-desktop</ code > ) with the following content: < code > --open-dev-tools --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 >
2019-05-02 23:54:52 +01:00
< h2 >< a name = "cli-application" href = "#cli-application" class = "heading-anchor" > 🔗</ a > CLI application</ h2 >
2018-04-04 21:48:42 +02:00
< ul >
< li > Start the app with < code > joplin --log-level debug</ code ></ li >
< li > Check the log.txt as specified above for the desktop application and attach the log to the GitHub issue (or just the warnings/errors if any)</ li >
</ ul >
2019-05-02 23:54:52 +01:00
< h2 >< a name = "mobile-application" href = "#mobile-application" class = "heading-anchor" > 🔗</ a > Mobile application</ h2 >
2018-04-04 21:48:42 +02:00
< ul >
< li > In the options, enable Advanced Option</ li >
< li > Open the log in the top right hand corner menu and post a screenshot of any error/warning.</ li >
</ ul >
2019-05-02 23:54:52 +01:00
< h1 >< a name = "creating-a-low-level-bug-report-on-android" href = "#creating-a-low-level-bug-report-on-android" class = "heading-anchor" > 🔗</ a > Creating a low-level bug report on Android</ h1 >
2018-05-09 16:43:33 +01:00
< 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 bugreport 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 >
2019-05-02 23:54:52 +01:00
< h1 >< a name = "creating-a-low-level-bug-report-on-ios" href = "#creating-a-low-level-bug-report-on-ios" class = "heading-anchor" > 🔗</ a > Creating a low-level bug report on iOS</ h1 >
2019-04-30 18:58:35 +01:00
< 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 >
2018-05-06 11:17:34 +01:00
< p > For this, please follow these instructions:</ p >
< p > You can send it to this address < a href = "https://raw.githubusercontent.com/laurent22/joplin/master/Assets/Adresse.png" > https://raw.githubusercontent.com/laurent22/joplin/master/Assets/Adresse.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 >
2019-04-30 18:58:35 +01:00
< 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: < AppName >< em >< DateTime ></ em >< DeviceName ></ 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 >
2018-04-04 21:48:42 +02:00
< script >
function stickyHeader () {
return ; // Disabled
if ( $ ( window ). scrollTop () > 179 ) {
$ ( '.nav' ). addClass ( 'sticky' );
} else {
$ ( '.nav' ). removeClass ( 'sticky' );
}
}
$ ( '#toc' ). hide ();
$ ( '.help' ). click ( function ( event ) {
event . preventDefault ();
$ ( '#toc' ). show ();
});
$ ( window ). scroll ( function () {
stickyHeader ();
});
( 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 >
< div class = "footer" >
2019-01-15 19:10:27 +00:00
Copyright (c) 2016-2019 Laurent Cozic
2018-04-04 21:48:42 +02:00
</ div >
</ body >
</ html >