Translation

(itstool) path: sect2/title
English
Emacs
5/100
Context English Portuguese (Brazil) State
(gdb) <userinput>core <replaceable>progname</replaceable>.core</userinput> (gdb) <userinput>core <replaceable>progname</replaceable>.core</userinput>
If the core file is not in the current directory, type <userinput>dir /path/to/core/file</userinput> first. Se você não está no mesmo diretório que o arquivo principal, você terá que fazer <userinput> dir / caminho / para / core / arquivo </userinput> primeiro.
The debugger should display something like this: Você deveria ver algo assim:
<prompt>%</prompt> <userinput>gdb <filename><replaceable>progname</replaceable></filename></userinput>
GDB is free software and you are welcome to 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.
GDB 4.13 (i386-unknown-freebsd), Copyright 1994 Free Software Foundation, Inc.
(gdb) <userinput>core <filename><replaceable>progname</replaceable>.core</filename></userinput>
Core was generated by `<filename><replaceable>progname</replaceable></filename>'.
Program terminated with signal 11, Segmentation fault.
Cannot access memory at address 0x7020796d.
#0 0x164a in bazz (anint=0x5) at temp.c:17
(gdb)
<prompt>%</prompt> <userinput>gdb a.out</userinput>
GDB is free software and you are welcome to 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.
GDB 4.13 (i386-unknown-freebsd), Copyright 1994 Free Software Foundation, Inc.
(gdb) <userinput>core a.out.core</userinput>
Core was generated by `a.out'.
Program terminated with signal 11, Segmentation fault.
Cannot access memory at address 0x7020796d.
#0 0x164a in bazz (anint=0x5) at temp.c:17
(gdb)
In this case, the program was called <filename><replaceable>progname</replaceable></filename>, so the core file is called <filename><replaceable>progname</replaceable>.core</filename>. We can see that the program crashed due to trying to access an area in memory that was not available to it in a function called <function>bazz</function>. Neste caso, o programa foi chamado <filename> a.out </filename> , então o arquivo principal é chamado <filename> a.out.core </filename> . Podemos ver que o programa travou devido a tentar acessar uma área na memória que não estava disponível para ele em uma função chamada <function> bazz </function>
Sometimes it is useful to be able to see how a function was called, as the problem could have occurred a long way up the call stack in a complex program. <command>bt</command> causes <command>gdb</command> to print out a back-trace of the call stack: Às vezes é útil poder ver como uma função foi chamada, já que o problema poderia ter ocorrido um longo caminho até a pilha de chamadas em um programa complexo. <command> bt </command> causas de comando <command> gdb </command> para imprimir um rastreamento da pilha de chamadas:
(gdb) <userinput>bt</userinput>
#0 0x164a in bazz (anint=0x5) at temp.c:17
#1 0xefbfd888 in end ()
#2 0x162c in main () at temp.c:11
(gdb)
(gdb) <userinput>bt</userinput>
#0 0x164a in bazz (anint=0x5) at temp.c:17
#1 0xefbfd888 in end ()
#2 0x162c in main () at temp.c:11
(gdb)
The <function>end()</function> function is called when a program crashes; in this case, the <function>bazz()</function> function was called from <function>main()</function>. O <function> fim() </function> função é chamada quando um programa falha; neste caso, o <function> bazz () </function> função foi chamada de <function> a Principal() </function>
Attaching to a Running Program with gdb Anexando a um programa em execução
One of the neatest features about <command>gdb</command> is that it can attach to a program that is already running. Of course, that requires sufficient permissions to do so. A common problem is stepping through a program that forks and wanting to trace the child, but the debugger will only trace the parent. Uma das características mais interessantes sobre <command> gdb </command> é que ele pode se conectar a um programa que já está em execução. Claro, isso pressupõe que você tenha permissões suficientes para isso. Um problema comum é quando você está percorrendo um programa que se bifurca e deseja rastrear o filho, mas o depurador só permitirá rastrear o pai.
To do that, start up another <command>gdb</command>, use <command>ps</command> to find the process ID for the child, and do O que você faz é iniciar outra <command> gdb </command> , usar <command> ps </command> para encontrar o ID do processo para o filho e fazer
(gdb) <userinput>attach <replaceable>pid</replaceable></userinput> (gdb) <userinput>attach <replaceable>pid</replaceable></userinput>
in <command>gdb</command>, and then debug as usual. dentro <command> gdb </command> e, em seguida, depurar como de costume
Now all that is needed is to attach to the child, set <symbol>PauseMode</symbol> to <literal>0</literal>, and wait for the <function>sleep()</function> call to return! Agora tudo que você tem a fazer é anexar à criança, definir <symbol> PauseMode </symbol> para <literal> 0 </literal> e aguarde o <function> dormir() </function> ligue para voltar!
Using Emacs as a Development Environment Usando o Emacs como um ambiente de desenvolvimento
Emacs Emacs
Emacs is a highly customizable editor—indeed, it has been customized to the point where it is more like an operating system than an editor! Many developers and sysadmins do in fact spend practically all their time working inside Emacs, leaving it only to log out. O Emacs é um editor altamente personalizável - de fato, foi customizado ao ponto de se parecer mais com um sistema operacional do que com um editor! Muitos desenvolvedores e administradores de sistemas gastam praticamente todo o seu tempo trabalhando dentro do Emacs, deixando apenas para logar Fora.
It is impossible even to summarize everything Emacs can do here, but here are some of the features of interest to developers: É impossível resumir tudo o que o Emacs pode fazer aqui, mas aqui estão algumas das características de interesse para os desenvolvedores:
Very powerful editor, allowing search-and-replace on both strings and regular expressions (patterns), jumping to start/end of block expression, etc, etc. Editor muito poderoso, permitindo pesquisar e substituir em cadeias de caracteres e expressões regulares (padrões), saltando para o início / fim da expressão de bloco, etc, etc.
Pull-down menus and online help. Menus suspensos e ajuda on-line.
Language-dependent syntax highlighting and indentation. Realce e recuo de sintaxe dependente de idioma.
Completely customizable. Completamente personalizável.
You can compile and debug programs within Emacs. Você pode compilar e depurar programas dentro do Emacs.
On a compilation error, you can jump to the offending line of source code. Em um erro de compilação, você pode ir para a linha ofensiva do código-fonte.
Friendly-ish front-end to the <command>info</command> program used for reading GNU hypertext documentation, including the documentation on Emacs itself. Friendly-ish front-end para o <command> informação </command> programa usado para ler a documentação do hipertexto GNU, incluindo a documentação do próprio Emacs.
Friendly front-end to <command>gdb</command>, allowing you to look at the source code as you step through your program. Amigável front-end para <command> gdb </command> , permitindo que você olhe para o código-fonte enquanto percorre seu programa.
And doubtless many more that have been overlooked. E, sem dúvida, muitos mais que foram esquecidos.
Emacs can be installed on FreeBSD using the <package>editors/emacs</package> port. O Emacs pode ser instalado no FreeBSD usando o <package> editores / emacs </package> porta.
Once it is installed, start it up and do <literal>C-h t</literal> to read an Emacs tutorial—that means hold down <keycap>control</keycap>, press <keycap>h</keycap>, let go of <keycap>control</keycap>, and then press <keycap>t</keycap>. (Alternatively, you can use the mouse to select <guimenuitem>Emacs Tutorial</guimenuitem> from the <guimenu>Help</guimenu> menu.) Uma vez instalado, inicie e faça <userinput> Ch t </userinput> ler um tutorial do Emacs - isso significa segurar o <keycap> ao controle </keycap> pressione o botão <keycap> h </keycap> , solte o <keycap> ao controle </keycap> tecla e, em seguida, pressione <keycap> t </keycap> . (Alternativamente, você pode usar o mouse para selecionar <guimenuitem> Tutorial Emacs </guimenuitem> de <guimenu> Socorro </guimenu> cardápio.)
Although Emacs does have menus, it is well worth learning the key bindings, as it is much quicker when you are editing something to press a couple of keys than to try to find the mouse and then click on the right place. And, when you are talking to seasoned Emacs users, you will find they often casually throw around expressions like <quote><literal>M-x replace-s RET foo RET bar RET</literal></quote> so it is useful to know what they mean. And in any case, Emacs has far too many useful functions for them to all fit on the menu bars. Embora o Emacs tenha menus, vale a pena aprender os atalhos de teclado, pois é muito mais rápido quando você está editando algo para pressionar algumas teclas do que tentar localizar o mouse e, em seguida, clicar no lugar certo. E quando você está conversando com usuários experientes do Emacs, você descobrirá que eles frequentemente lançam expressões como <quote><literal> Mx substitui RET foo RET bar RET </literal></quote> Por isso, é útil saber o que eles significam. E, de qualquer forma, o Emacs tem muitas funções úteis para todos eles caberem nas barras de menus.
Fortunately, it is quite easy to pick up the key-bindings, as they are displayed next to the menu item. My advice is to use the menu item for, say, opening a file until you understand how it works and feel confident with it, then try doing C-x C-f. When you are happy with that, move on to another menu command. Felizmente, é muito fácil pegar os atalhos de teclado, como eles são exibidos ao lado do item de menu. Meu conselho é usar o item de menu para, digamos, abrir um arquivo até você entender como ele funciona e se sentir confiante com tente fazer Cx Cf. Quando estiver satisfeito com isso, passe para outro comando de menu.

Loading…

New source string a year ago
Browse all component changes

Things to check

Unchanged translation

Source and translation are identical

Reset

Glossary

English Portuguese (Brazil)
No related strings found in the glossary.

Source information

Source string comment
(itstool) path: sect2/title
Source string location
book.translate.xml:2336
String age
a year ago
Source string age
a year ago
Translation file
books/pt_BR/developers-handbook.po, string 413