gdb set overwrite log on deve sobrescrever gdb.txt correto?

3

Eu estava pesquisando em Saída de registro e estava experimentando esse comando em particular -

set logging overwrite on

AFAI entendeu que o comando deveria sobrescrever o conteúdo de gdb.txt, mas isso não acontece. Existe um erro lá ou não entendi o significado / sintaxe corretamente.

Estou correndo -

[$] gdb --version                                                                                                                  
GNU gdb (Debian 7.12-6) 7.12.0.20161007-git
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word".

Isso está no teste do Debian.

Observando: Erros no pacote gdb (versão 7.12-6) em instável

não me diz muito, mas eu não sou especialista em gdb ou até mesmo um usuário intermediário. Se alguém conhece um bug que faz referência ao comportamento acima, por favor, compartilhe isso ou se eu estiver com falta de compreensão, por favor, compartilhe isso também.

Atualizar -

Os comandos exatos são -

$ gdb qbittorrent 
(gdb) set logging overwrite on 
(gdb) set pagination 0
(gdb) run

quando o aplicativo foi interrompido / travou por meio de

QXcbConnection: XCB error: 3 (BadWindow), sequence: 16699, resource id: 14227177, major code: 40 (TranslateCoords), minor code: 0
pure virtual method called
terminate called without an active exception

Thread 1 "qbittorrent" received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
51 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory. 

Eu fiz o requisito -

(gdb) bt
(gdb) bt full
(gdb) thread apply all bt

Agora eu esperava que, com o comando overwrite on , o gdb sobrescreveria o conteúdo de gdb.txt da sessão atual, além de substituir o registro de data e hora do arquivo, não aconteceu. Felizmente, eu não fechei a sessão, então fui capaz de copiar o conteúdo da sessão de depuração para o mantenedor e para o upstream, para que pudessem dar uma olhada mais de perto no que aconteceu.

Estou curioso / não entendo por que não fez as mudanças ou estou entendendo errado.

    
por shirish 07.10.2017 / 15:02

1 resposta

2

Você perdeu o log real ( set logging on ):

(gdb) set logging overwrite on
(gdb) set logging on
    
por 07.10.2017 / 16:22