mirror of
https://github.com/weechat/weechat.git
synced 2026-06-26 04:46:37 +02:00
Add chapter "Report crashs" in user guide
This commit is contained in:
@@ -172,7 +172,97 @@ If you're using autotools (and not cmake), execute this script:
|
||||
$ ./autogen.sh
|
||||
----------------------------------------
|
||||
|
||||
Then follow instructions for source package (see <<source_package>>).
|
||||
Then follow instructions for source package (see
|
||||
<<source_package,source package>>).
|
||||
|
||||
[[report_crashs]]
|
||||
Report crashs
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
If you experienced crashs, or if you want to report any future WeeChat crash,
|
||||
you have to:
|
||||
|
||||
* compile it with debug info (or install binary package with debug info)
|
||||
* enable 'core' files on your system
|
||||
* install gdb
|
||||
|
||||
[[debug_info]]
|
||||
Debug info
|
||||
^^^^^^^^^^
|
||||
|
||||
If you're compiling with cmake:
|
||||
|
||||
----------------------------------------
|
||||
$ cmake .. -DCMAKE_BUILD_TYPE=Debug
|
||||
----------------------------------------
|
||||
|
||||
If you're compiling with autotools, debug is default (`--with-debug=1`).
|
||||
|
||||
If you installed a binary package, then install package 'weechat-dbg'.
|
||||
|
||||
[[core_files]]
|
||||
Core files
|
||||
^^^^^^^^^^
|
||||
|
||||
To enable 'core' files, you have to use `ulimit` command.
|
||||
|
||||
For example under Linux with 'bash' shell, add this line to your `~/.bashrc`:
|
||||
|
||||
----------------------------------------
|
||||
ulimit -c unlimited
|
||||
----------------------------------------
|
||||
|
||||
Or max size:
|
||||
|
||||
----------------------------------------
|
||||
ulimit -c 200000
|
||||
----------------------------------------
|
||||
|
||||
[[gdb_backtrace]]
|
||||
Get backtrace with gdb
|
||||
^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
When WeeChat crashes, your system will create a file 'core' or 'core.12345'
|
||||
('12345' is process id).
|
||||
This file is created in directory where you have run WeeChat (this is *not*
|
||||
directory where WeeChat is installed!).
|
||||
|
||||
For example if 'weechat-curses' is installed in '/usr/bin/' and 'core' file is
|
||||
in '/home/xxx/', then run gdb with this command:
|
||||
|
||||
----------------------------------------
|
||||
gdb /usr/bin/weechat-curses /home/xxx/core
|
||||
----------------------------------------
|
||||
|
||||
Then under gdb, use command `bt` to display backtrace.
|
||||
You will see something like that:
|
||||
|
||||
----------------------------------------
|
||||
(gdb) bt
|
||||
#0 0xffffe424 in __kernel_vsyscall ()
|
||||
#1 0xb76208e0 in raise () from /lib/i686/cmov/libc.so.6
|
||||
#2 0xb7623e15 in abort () from /lib/i686/cmov/libc.so.6
|
||||
#3 0x08083940 in weechat_shutdown (return_code=1, crash=1) at /some_path/src/core/weechat.c:357
|
||||
#4 0x08098aaa in debug_sigsegv () at /some_path/src/core/wee-debug.c:155
|
||||
#5 <signal handler called>
|
||||
#6 0xb7656681 in vsnprintf () from /lib/i686/cmov/libc.so.6
|
||||
#7 0xb763dd22 in snprintf () from /lib/i686/cmov/libc.so.6
|
||||
#8 0xb7258674 in irc_protocol_cmd_join (server=0x8165138, command=0xb727c187 "join", argc=3, argv=0x889e840, argv_eol=0x889e858)
|
||||
at /some_path/src/plugins/irc/irc-protocol.c:520
|
||||
#9 0xb7265c6e in irc_protocol_recv_command (server=0x8165138, entire_line=0x889e7e0 ":nick!nick@127.0.0.1 JOIN :#test",
|
||||
command=0x889d080 "JOIN") at /some_path/src/plugins/irc/irc-protocol.c:4077
|
||||
#10 0xb726a2c6 in irc_server_msgq_flush () at /some_path/src/plugins/irc/irc-server.c:1614
|
||||
#11 0xb726a4da in irc_server_recv_cb (data=0x8165138, fd=8) at /some_path/src/plugins/irc/irc-server.c:1691
|
||||
#12 0x0809a797 in hook_fd_exec (read_fds=0xbfcf8074, write_fds=0xbfcf7ff4, exception_fds=0xbfcf7f74)
|
||||
at /some_path/src/core/wee-hook.c:1133
|
||||
#13 0x08060af0 in gui_main_loop () at /some_path/src/gui/curses/gui-curses-main.c:330
|
||||
#14 0x08083b10 in main (argc=3, argv=0xbfcf81d4) at /some_path/src/core/weechat.c:419
|
||||
----------------------------------------
|
||||
|
||||
You must report this trace to developers, and tell them what action caused this
|
||||
crash.
|
||||
|
||||
Thank you for your help!
|
||||
|
||||
|
||||
[[usage]]
|
||||
@@ -206,7 +296,7 @@ Command line arguments:
|
||||
Disable plugins auto-load
|
||||
|
||||
-s, --no-script::
|
||||
Disable scirpts auto-load
|
||||
Disable scripts auto-load
|
||||
|
||||
-v, --version::
|
||||
Display WeeChat version
|
||||
@@ -225,7 +315,8 @@ created, with default options. The default configuration file is:
|
||||
'~/.weechat/weechat.conf'.
|
||||
|
||||
You can edit this file at your convenience to configure WeeChat or you can set
|
||||
parameters with `/set` command in WeeChat (see <<weechat_commands>>).
|
||||
parameters with `/set` command in WeeChat (see
|
||||
<<weechat_commands,WeeChat commands>>).
|
||||
|
||||
[[screen_layout]]
|
||||
Screen layout
|
||||
@@ -1038,7 +1129,7 @@ IRC plugin
|
||||
The IRC plugin is designed to chat through IRC protocol with other people.
|
||||
|
||||
It is multi-servers, and offers all supported IRC commands including DCC chat
|
||||
and file transfer (via xfer plugin, see <<xfer_plugin>>).
|
||||
and file transfer (via xfer plugin, see <<xfer_plugin,Xfer plugin>>).
|
||||
|
||||
[[irc_command_line_options]]
|
||||
Command line options
|
||||
|
||||
@@ -174,7 +174,100 @@ Si vous utilisez les autotools (et non cmake), exécutez ce script :
|
||||
$ ./autogen.sh
|
||||
----------------------------------------
|
||||
|
||||
Suivez alors les instructions du paquet source (voir <<source_package>>).
|
||||
Suivez alors les instructions du paquet source (voir
|
||||
<<source_package,paquet source>>).
|
||||
|
||||
[[report_crashs]]
|
||||
Rapporter les plantages
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Si vous avez eu des plantages, ou si vous souhaitez rapporter tout plantage
|
||||
futur de WeeChat, vous devez :
|
||||
|
||||
* compiler avec les infos de debug (ou installer un paquet binaire avec les
|
||||
infos de debug)
|
||||
* activer les fichiers 'core' sur votre système
|
||||
* installer gdb
|
||||
|
||||
[[debug_info]]
|
||||
Infos de debug
|
||||
^^^^^^^^^^^^^^
|
||||
|
||||
Si vous compilez avec cmake :
|
||||
|
||||
----------------------------------------
|
||||
$ cmake .. -DCMAKE_BUILD_TYPE=Debug
|
||||
----------------------------------------
|
||||
|
||||
Si vous compilez avec les autotools, le debug est par défaut (`--with-debug=1`).
|
||||
|
||||
Si vous avez installé un paquet binaire, alors installez le paquet
|
||||
'weechat-dbg'.
|
||||
|
||||
[[core_files]]
|
||||
Fichiers core
|
||||
^^^^^^^^^^^^^
|
||||
|
||||
Pour activer les fichiers 'core', vous devez utiliser la commande `ulimit`.
|
||||
|
||||
Par exemple sous Linux avec le shell 'bash', ajoutez cette ligne dans votre
|
||||
`~/.bashrc`:
|
||||
|
||||
----------------------------------------
|
||||
ulimit -c unlimited
|
||||
----------------------------------------
|
||||
|
||||
Ou une taille maximum :
|
||||
|
||||
----------------------------------------
|
||||
ulimit -c 200000
|
||||
----------------------------------------
|
||||
|
||||
[[gdb_backtrace]]
|
||||
Obtenir la trace avec gdb
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Lorsque WeeChat se plante, votre système génère un fichier 'core' ou
|
||||
'core.12345' ('12345' est l'identifiant du processus).
|
||||
Ce fichier est créé dans le répertoire où vous avez lancé WeeChat (ce n'est
|
||||
*pas* le répertoire où WeeChat est installé !).
|
||||
|
||||
Par exemple si 'weechat-curses' est installé dans '/usr/bin/' et que le fichier
|
||||
'core' est dans '/home/xxx/', alors lancez gdb avec cette commande :
|
||||
|
||||
----------------------------------------
|
||||
gdb /usr/bin/weechat-curses /home/xxx/core
|
||||
----------------------------------------
|
||||
|
||||
Puis sous gdb, utilisez la commande `bt` pour afficher la trace.
|
||||
Vous verrez quelque chose comme ceci :
|
||||
|
||||
----------------------------------------
|
||||
(gdb) bt
|
||||
#0 0xffffe424 in __kernel_vsyscall ()
|
||||
#1 0xb76208e0 in raise () from /lib/i686/cmov/libc.so.6
|
||||
#2 0xb7623e15 in abort () from /lib/i686/cmov/libc.so.6
|
||||
#3 0x08083940 in weechat_shutdown (return_code=1, crash=1) at /some_path/src/core/weechat.c:357
|
||||
#4 0x08098aaa in debug_sigsegv () at /some_path/src/core/wee-debug.c:155
|
||||
#5 <signal handler called>
|
||||
#6 0xb7656681 in vsnprintf () from /lib/i686/cmov/libc.so.6
|
||||
#7 0xb763dd22 in snprintf () from /lib/i686/cmov/libc.so.6
|
||||
#8 0xb7258674 in irc_protocol_cmd_join (server=0x8165138, command=0xb727c187 "join", argc=3, argv=0x889e840, argv_eol=0x889e858)
|
||||
at /some_path/src/plugins/irc/irc-protocol.c:520
|
||||
#9 0xb7265c6e in irc_protocol_recv_command (server=0x8165138, entire_line=0x889e7e0 ":nick!nick@127.0.0.1 JOIN :#test",
|
||||
command=0x889d080 "JOIN") at /some_path/src/plugins/irc/irc-protocol.c:4077
|
||||
#10 0xb726a2c6 in irc_server_msgq_flush () at /some_path/src/plugins/irc/irc-server.c:1614
|
||||
#11 0xb726a4da in irc_server_recv_cb (data=0x8165138, fd=8) at /some_path/src/plugins/irc/irc-server.c:1691
|
||||
#12 0x0809a797 in hook_fd_exec (read_fds=0xbfcf8074, write_fds=0xbfcf7ff4, exception_fds=0xbfcf7f74)
|
||||
at /some_path/src/core/wee-hook.c:1133
|
||||
#13 0x08060af0 in gui_main_loop () at /some_path/src/gui/curses/gui-curses-main.c:330
|
||||
#14 0x08083b10 in main (argc=3, argv=0xbfcf81d4) at /some_path/src/core/weechat.c:419
|
||||
----------------------------------------
|
||||
|
||||
Vous devez envoyer cette trace aux développeurs, et leur indiquer quelle action
|
||||
a été la cause de ce plantage.
|
||||
|
||||
Merci pour votre aide !
|
||||
|
||||
|
||||
[[usage]]
|
||||
@@ -229,7 +322,7 @@ Le fichier de configuration par défaut est : '~/.weechat/weechat.conf'.
|
||||
|
||||
Vous pouvez éditer ce fichier pour configurer WeeChat à votre convenance ou
|
||||
vous pouvez modifier les paramètres dans WeeChat avec la commande `/set`
|
||||
(voir <<weechat_commands>>).
|
||||
(voir <<weechat_commands,commandes WeeChat>>).
|
||||
|
||||
[[screen_layout]]
|
||||
Organisation de l'écran
|
||||
@@ -1072,7 +1165,7 @@ protocole IRC.
|
||||
|
||||
Elle est multi-serveurs, et offre toutes les commandes IRC supportées, y
|
||||
compris la discussion directe (DCC chat) et le transfert de fichier DCC
|
||||
(via l'extension xfer, voir <<xfer_plugin>>).
|
||||
(via l'extension xfer, voir <<xfer_plugin,extension Xfer>>).
|
||||
|
||||
[[irc_command_line_options]]
|
||||
Options de ligne de commande
|
||||
|
||||
@@ -176,7 +176,97 @@ Se si usano gli autotools (e non cmake), eseguire questo script:
|
||||
$ ./autogen.sh
|
||||
----------------------------------------
|
||||
|
||||
Poi seguire le istruzioni per i sorgenti (consultare <<source_package>>).
|
||||
Poi seguire le istruzioni per i sorgenti (consultare
|
||||
<<source_package,sorgenti>>).
|
||||
|
||||
[[report_crashs]]
|
||||
Report crashs
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
If you experienced crashs, or if you want to report any future WeeChat crash,
|
||||
you have to:
|
||||
|
||||
* compile it with debug info (or install binary package with debug info)
|
||||
* enable 'core' files on your system
|
||||
* install gdb
|
||||
|
||||
[[debug_info]]
|
||||
Debug info
|
||||
^^^^^^^^^^
|
||||
|
||||
If you're compiling with cmake:
|
||||
|
||||
----------------------------------------
|
||||
$ cmake .. -DCMAKE_BUILD_TYPE=Debug
|
||||
----------------------------------------
|
||||
|
||||
If you're compiling with autotools, debug is default (`--with-debug=1`).
|
||||
|
||||
If you installed a binary package, then install package 'weechat-dbg'.
|
||||
|
||||
[[core_files]]
|
||||
Core files
|
||||
^^^^^^^^^^
|
||||
|
||||
To enable 'core' files, you have to use `ulimit` command.
|
||||
|
||||
For example under Linux with 'bash' shell, add this line to your `~/.bashrc`:
|
||||
|
||||
----------------------------------------
|
||||
ulimit -c unlimited
|
||||
----------------------------------------
|
||||
|
||||
Or max size:
|
||||
|
||||
----------------------------------------
|
||||
ulimit -c 200000
|
||||
----------------------------------------
|
||||
|
||||
[[gdb_backtrace]]
|
||||
Get backtrace with gdb
|
||||
^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
When WeeChat crashes, your system will create a file 'core' or 'core.12345'
|
||||
('12345' is process id).
|
||||
This file is created in directory where you have run WeeChat (this is *not*
|
||||
directory where WeeChat is installed!).
|
||||
|
||||
For example if 'weechat-curses' is installed in '/usr/bin/' and 'core' file is
|
||||
in '/home/xxx/', then run gdb with this command:
|
||||
|
||||
----------------------------------------
|
||||
gdb /usr/bin/weechat-curses /home/xxx/core
|
||||
----------------------------------------
|
||||
|
||||
Then under gdb, use command `bt` to display backtrace.
|
||||
You will see something like that:
|
||||
|
||||
----------------------------------------
|
||||
(gdb) bt
|
||||
#0 0xffffe424 in __kernel_vsyscall ()
|
||||
#1 0xb76208e0 in raise () from /lib/i686/cmov/libc.so.6
|
||||
#2 0xb7623e15 in abort () from /lib/i686/cmov/libc.so.6
|
||||
#3 0x08083940 in weechat_shutdown (return_code=1, crash=1) at /some_path/src/core/weechat.c:357
|
||||
#4 0x08098aaa in debug_sigsegv () at /some_path/src/core/wee-debug.c:155
|
||||
#5 <signal handler called>
|
||||
#6 0xb7656681 in vsnprintf () from /lib/i686/cmov/libc.so.6
|
||||
#7 0xb763dd22 in snprintf () from /lib/i686/cmov/libc.so.6
|
||||
#8 0xb7258674 in irc_protocol_cmd_join (server=0x8165138, command=0xb727c187 "join", argc=3, argv=0x889e840, argv_eol=0x889e858)
|
||||
at /some_path/src/plugins/irc/irc-protocol.c:520
|
||||
#9 0xb7265c6e in irc_protocol_recv_command (server=0x8165138, entire_line=0x889e7e0 ":nick!nick@127.0.0.1 JOIN :#test",
|
||||
command=0x889d080 "JOIN") at /some_path/src/plugins/irc/irc-protocol.c:4077
|
||||
#10 0xb726a2c6 in irc_server_msgq_flush () at /some_path/src/plugins/irc/irc-server.c:1614
|
||||
#11 0xb726a4da in irc_server_recv_cb (data=0x8165138, fd=8) at /some_path/src/plugins/irc/irc-server.c:1691
|
||||
#12 0x0809a797 in hook_fd_exec (read_fds=0xbfcf8074, write_fds=0xbfcf7ff4, exception_fds=0xbfcf7f74)
|
||||
at /some_path/src/core/wee-hook.c:1133
|
||||
#13 0x08060af0 in gui_main_loop () at /some_path/src/gui/curses/gui-curses-main.c:330
|
||||
#14 0x08083b10 in main (argc=3, argv=0xbfcf81d4) at /some_path/src/core/weechat.c:419
|
||||
----------------------------------------
|
||||
|
||||
You must report this trace to developers, and tell them what action caused this
|
||||
crash.
|
||||
|
||||
Thank you for your help!
|
||||
|
||||
|
||||
[[usage]]
|
||||
@@ -230,7 +320,7 @@ predefinito. Il file di configurazione viene creato nella cartella:
|
||||
|
||||
È possibile modificare questo file per configurare WeeChat a seconda delle
|
||||
proprie esigenze, oppure impostando i parametri con il comando `/set`
|
||||
all'interno di WeeChat (consultare <<weechat_commands>>).
|
||||
all'interno di WeeChat (consultare <<weechat_commands,comandi di WeeChat>>).
|
||||
|
||||
[[screen_layout]]
|
||||
Layout dello schermo
|
||||
@@ -1060,7 +1150,7 @@ Plugin IRC
|
||||
Il plugin IRC è realizzato per chattare tramite protocollo IRC con altre persone.
|
||||
|
||||
È multi-server, ed offre tutti i comandi IRC supportati inclusi la chat DCC ed il
|
||||
trasferimento file (tramite plugin xfer, consultare <<xfer_plugin>>).
|
||||
trasferimento file (tramite plugin xfer, consultare <<xfer_plugin,plugin Xfer>>).
|
||||
|
||||
[[irc_command_line_options]]
|
||||
Opzioni a riga di comando
|
||||
@@ -1523,10 +1613,10 @@ Comandi Tcl
|
||||
include::autogen/user/tcl_commands.txt[]
|
||||
|
||||
[[xfer_plugin]]
|
||||
Plugin xfer
|
||||
Plugin Xfer
|
||||
~~~~~~~~~~~
|
||||
|
||||
Il plugin xfer fornisce:
|
||||
Il plugin Xfer fornisce:
|
||||
|
||||
* chat diretta (tra due host, senza server): per esempio "DCC Chat"
|
||||
tramite plugin IRC
|
||||
|
||||
Reference in New Issue
Block a user