Lector de Feeds

Documentação-pt-BR

Wiki Mageia - 15 Marzo, 2025 - 03:49

Atualização do link depuração de falha de software

← Older revision Revision as of 02:49, 15 March 2025 Line 209: Line 209:  *[[As_easy_as_a_shell|Tão fácil quanto um shell]] *[[As_easy_as_a_shell|Tão fácil quanto um shell]]  *[[Cauldron]] *[[Cauldron]] −*[[Debugging software crashes|Depuração de falhas de software]]+*[[Depuração_de_falhas_de_software-pt-BR|Depuração de falhas de software]]  *[[Display Managers|<span style="color:green;">Gerenciadores de exibição</span>]] *[[Display Managers|<span style="color:green;">Gerenciadores de exibição</span>]]  *[[Drakcowsay|<span style="color:green;">Drakcowsay</span>]] *[[Drakcowsay|<span style="color:green;">Drakcowsay</span>]] Xgrind
Categorías: Wiki de Mageia

Débogage de plantage de logiciel-fr

Wiki Mageia - 15 Marzo, 2025 - 03:43

Add pt-BR

← Older revision Revision as of 02:43, 15 March 2025 Line 5: Line 5:  [[Category:Triage]] [[Category:Triage]]    −{{Multi language banner-fr|[[Fehlersuche_bei_Softwareabstürze-de|Deutsch]] ; [[Debugging software crashes|English]] ; [[Débogage de plantage de logiciel-fr|français]] ;}}+{{Multi language banner-fr|[[Fehlersuche_bei_Softwareabstürze-de|Deutsch]] ; [[Debugging software crashes|English]] ; [[Débogage de plantage de logiciel-fr|français]] ; [[Depuração de falhas de software-pt-BR|Português brasileiro]] ;}}     {{introduction-fr|Cette page est conçue pour vous aider à collecter des informations pertinentes en cas de plantage d’une application et doit éventuellement être corrigée par vous-même.}} {{introduction-fr|Cette page est conçue pour vous aider à collecter des informations pertinentes en cas de plantage d’une application et doit éventuellement être corrigée par vous-même.}} Xgrind
Categorías: Wiki de Mageia

Debugging software crashes

Wiki Mageia - 15 Marzo, 2025 - 03:43

Add pt-BR

← Older revision Revision as of 02:43, 15 March 2025 Line 5: Line 5:  [[Category:Triage]] [[Category:Triage]]    −{{multi language banner|[[Fehlersuche_bei_Softwareabstürze-de|Deutsch]] ; [[Debugging software crashes|English]] ; [[Débogage de plantage de logiciel-fr|français]] ;}}+{{multi language banner|[[Fehlersuche_bei_Softwareabstürze-de|Deutsch]] ; [[Debugging software crashes|English]] ; [[Débogage de plantage de logiciel-fr|français]] ; [[Depuração de falhas de software-pt-BR|Português brasileiro]] ;}}     {{introduction|This page is intended to help you gather useful information when you encounter a software crash, and maybe fixing it by yourself.}} {{introduction|This page is intended to help you gather useful information when you encounter a software crash, and maybe fixing it by yourself.}} Xgrind
Categorías: Wiki de Mageia

Fehlersuche bei Softwareabstürze-de

Wiki Mageia - 15 Marzo, 2025 - 03:42

Add pt-BR

← Older revision Revision as of 02:42, 15 March 2025 Line 5: Line 5:  [[Category:Triage]] [[Category:Triage]]    −{{Multi_language_banner-de|[[Fehlersuche_bei_Softwareabstürze-de|Deutsch]] ; [[Debugging_software_crashes|English]] ; [[Débogage de plantage de logiciel-fr|français]] ;}}+{{Multi_language_banner-de|[[Fehlersuche_bei_Softwareabstürze-de|Deutsch]] ; [[Debugging_software_crashes|English]] ; [[Débogage de plantage de logiciel-fr|français]] ; [[Depuração de falhas de software-pt-BR|Português brasileiro]] ;}}  {{mgaport-de|url=Fehlersuche_bei_Softwareabstuerzen}} {{mgaport-de|url=Fehlersuche_bei_Softwareabstuerzen}}    Xgrind
Categorías: Wiki de Mageia

Depuração de falhas de software-pt-BR

Wiki Mageia - 15 Marzo, 2025 - 03:40

Criando a página Depuração de falhas de software-pt-BR

New page

[[Category:Bugsquad]]
[[Category:Documentation ]]
[[Category:Howtos]]
[[Category:Packaging]]
[[Category:Triage]]

{{multi language banner-pt-BR|[[Fehlersuche_bei_Softwareabstürze-de|Deutsch]] ; [[Debugging software crashes|English]] ; [[Débogage de plantage de logiciel-fr|français]] ; [[Depuração de falhas de software-pt-BR|Português brasileiro]] ;}}

{{introduction-pt-BR|Esta página tem como objetivo ajudar você a reunir informações úteis quando ocorrer uma falha de software e talvez consertá-la sozinho.}}

== Preliminares ==

Primeiro, você deve instalar os pacotes ''-debug'' dos aplicativos e todas as bibliotecas que podem estar envolvidas. Isso permitirá que todas as ferramentas de depuração relatem informações mais úteis.

O próprio gdb lhe dará a linha de comando para executar a fim de instalar esses pacotes '''-debug''' e reiniciar o {{cmd-pt-BR|gdb}}.
Agora você pode começar a coletar informações úteis usando as várias ferramentas listadas abaixo.

Para poder instalar pacotes -debug, você precisa adicionar ou habilitar os repositórios -debug separados. Se você adicionou um conjunto completo de repositórios via gerenciamento de software Mageia, tudo o que você precisa fazer é atualizá-los com o seguinte comando em um terminal como root:
{{command-pt-BR|urpmi.update --no-ignore debug|prompt=#}}

== gdb ==

O programa gdb é o depurador GNU. Quando um programa trava devido a uma falha de segmentação ou um aborto, o gdb permitirá que você obtenha um backtrace, que é o lugar no programa onde o erro ocorreu.

=== Executando sua aplicação dentro do gdb ===

Se você puder reproduzir a falha facilmente, poderá executar seu aplicativo dentro do gdb e obter informações úteis quando a falha ocorrer.

* Inicie o gdb informando o caminho para seu aplicativo e diga para ele ser executado, se necessário, com os parâmetros.

{{output-pt-BR|gdb /bin/cat}}{{withbr|<nowiki>GNU gdb 6.3-7mdv2007.0 (Mandriva Linux release 2007.0)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "x86_64-mandriva-linux-gnu"...(no debugging symbols found)
Using host libthread_db library "/lib64/libthread_db.so.1".

(gdb)run /proc
Starting program: /bin/cat /proc
/bin/cat: /proc: Is a directory

Program exited with code 01.
(gdb)</nowiki>}}{{stop}}

* Se você receber mensagens sobre o sinal 33, você precisa dizer ao gdb para não parar nelas e passá-las para o aplicativo e, em seguida, reinicá-lo:

{{pre-pt-BR|<nowiki>Program received signal SIG33, Real-time event 33.
[Switching to Thread 1182845264 (LWP 11543)]
0x00002b661d87d536 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
(gdb) handle SIG33 nostop noprint noignore pass
Signal Stop Print Pass to program Description
SIG33 No No Yes Real-time event 33
(gdb) kill
Kill the program being debugged? (y or n) y
(gdb) run</nowiki>}}

* Quando o programa falhar, você receberá um prompt de gdb. Obter o backtrace com o comando {{Cmd-pt-BR|bt full}}. Esta é a informação necessária no relatório de bugs. Se as mensagens anteriores falarem sobre tópicos, você deve obter todos os backtraces com {{Cmd-pt-BR|thread apply all bt full}}.

{{pre-pt-BR|<nowiki>(gdb) bt full
#0 0x00002b526953c7ef in poll () from /lib64/libc.so.6
No symbol table info available.
#1 0x00002b52691f412e in g_main_context_iterate (context=0x51f2d0, block=1, dispatch=1,
self=Variable "self" is not available.) at gc:2977
max_priority = 2147483647
timeout = 30000
some_ready = Variable "some_ready" is not available.</nowiki>}}

=== Executando o gdb em um arquivo principal ===

Se por algum motivo você não conseguir reproduzir facilmente a falha dentro do gdb, mas tiver um arquivo principal, poderá fazer uma análise post-mortem. Por exemplo

{{command-pt-BR|gdb /bin/cat core.42}}

então, obtenha o backtrace com

{{Cmd-pt-BR|thread apply all bt full}}

(Se nenhum núcleo é gerado após uma segfault, tente executar {{Cmd-pt-BR|ulimit -c unlimited}} no shell a partir do qual você vai iniciar o seu aplicativo).

=== Anexando o gdb a um aplicativo em execução ===

Depurar aplicativos com startups complexas, por exemplo, serviços de sistema, pode ser complicado, pois você pode não conhecer todos os parâmetros usados com o binário quando é lançado.

Nesses casos (assumindo que a falha não ocorra durante a inicialização), você pode anexar gdb a uma instância em execução do aplicativo.

Primeiro, identificar o processo em que a colisão ocorrerá, por exemplo, com

{{cmd-pt-BR|ps ax {{!}} grep //nome do aplicativo//}}. Se o aplicativo estiver executando vários processos, tente notá-los todos, causando a falha e verificando o syslog para ver quais deles realmente falharam; quando você reiniciar o aplicativo, você pode anexar o gdb ao processo que ocupa o mesmo lugar relativo na lista.

Em seguida, anexar o gdb ao processo usando

{{cmd-pt-BR|gdb nome-do-executável id-do-processo}}

Isso fará com que o Gdb anexe a esse processo e o suspenda. Para retomar sua execução, use o comando
gdb {{cmd-pt-BR|c}}.

Finalmente, cause o acidente, o que resultará em gdb informando sobre isso e colocando um prompt, no qual você pode solicitar um backtrace.

Se você tiver que executar o gdb de um tty, canalize a saída para um arquivo de texto (para que você possa anexá-lo a um relatório de bugs mais tarde). Isso pode ser feito usando o comando {{cmd-pt-BR|tee}}, por exemplo:

{{cmd-pt-BR|gdb /bin/cat 2>&1 {{!}} tee logfile.txt}}

Isso salvará toda a saída para o logfile.txt. Quando você terminar, o arquivo de saída terá um registro de sua sessão de gdb.

=== Depuração do Apache no Mageia 2 ===

Depurar o apache tornou-se problemático na Mageia 2. O script abaixo deve ser útil.

{{pre-pt-BR|<nowiki>#!/bin/bash

# debugging apache got broken with systemd in mga2, it used to be as easy as:
# "/etc/rc.d/init.d/httpd stop; /etc/rc.d/init.d/httpd debug"
# this script should do the trick.
# Oden Eriksson <oeriksson@mandriva.com>

/etc/rc.d/init.d/httpd stop
defines=`/etc/rc.d/init.d/httpd show_defines`
gdb /usr/sbin/httpd --batch --quiet -ex "run -f /etc/httpd/conf/httpd.conf -DNO_DETACH -DONE_PROCESS -DDEBUG $defines" -ex "thread apply all bt full" -ex "quit"</nowiki>}}

== strace ==

O programa strace listará todas as chamadas do sistema feitas pelo aplicativo (abra um arquivo, leia em um soquete de rede, ...) e isso pode ajudar a encontrar alguns problemas, como um arquivo ausente, um diretório não escredável... etc

Você pode executá-lo com

{{cmd-pt-BR|strace -f -o \\arquivo-de-saida\\ \\comando\\}}

por exemplo

{{cmd-pt-BR|strace -f -o ls.strace ls /tmp}}

executará {{cmd-pt-BR|ls /tmp}} e salvar todas as chamadas do sistema para o arquivo ls.strace

== ltrace ==

== valgrind ==

Quando um programa é executado sob a supervisão de Valgrind, todas as leituras e gravações de memória são verificadas, e chamadas para malloc/new/free/delete são interceptadas. Como resultado, o Valgrind pode detectar problemas como:

* Utilização de memória não inicializada
* Ler/escrever a memória após de ter sido libertada
* Ler/escrever fora do final dos blocos malloc'd
* Ler/escrever áreas inapropriadas na pilha
* Vazamentos de memória - onde ponteiros para blocos malc'd são perdidos para sempre
* Passar de memória não-inicializada e/ou não endereçável às chamadas do sistema
* Uso incompatível de malloc/novo/novo [] vs livre/excluir/excluir []

[[Bugsquad_Portal|Ir para o Portal Bugsquad]] Xgrind
Categorías: Wiki de Mageia

MGASA-2025-0098 - Updated ghostscript packages fix security vulnerabilities

Mageia Security - 15 Marzo, 2025 - 02:40
Publication date: 15 Mar 2025
Type: security
Affected Mageia releases : 9
CVE: CVE-2025-27830 , CVE-2025-27831 , CVE-2025-27832 , CVE-2025-27833 , CVE-2025-27834 , CVE-2025-27835 , CVE-2025-27836 , CVE-2025-27837 Description This release addresses CVEs: CVE-2025-27835, CVE-2025-27832, CVE-2025-27831, CVE-2025-27836, CVE-2025-27830, CVE-2025-27833, CVE-2025-27837, CVE-2025-27834 The 10.05.0 release deprecates the non-standard operator "selectdevice", all code should now be using the standard "setpagedevice" operator. "selectdevice" will be removed in the 10.06.0 release. We now support production of PDF/X-1a and PDF/X-4a in addition to the existing support for PDF/X-3 References SRPMS 9/core
  • ghostscript-10.05.0-1.mga9

MGASA-2025-0097 - Updated man2html man2html packages fix security vulnerability

Mageia Security - 15 Marzo, 2025 - 02:40
Publication date: 15 Mar 2025
Type: security
Affected Mageia releases : 9
CVE: CVE-2021-40647 Description In man2html 1.6g, a specific string being read in from a file will overwrite the size parameter in the top chunk of the heap. This at least causes the program to segmentation abort if the heap size parameter isn't aligned correctly. In versions before GLIBC version 2.29 and if aligned correctly, it allows arbitrary writes anywhere in the program's memory. References SRPMS 9/core
  • man2html-1.6-6.1.mga9
Feed