Translation

(itstool) path: sect2/para
The standard debugger supplied with FreeBSD 12.1 is called <command>lldb</command> (<application>LLVM debugger</application>). As it is part of the standard installation for that release, there is no need to do anything special to use it. It has good command help, accessible via the <userinput>help</userinput> command, as well as <link xlink:href="https://lldb.llvm.org/">a web tutorial and documentation</link>.
0/4140
Context English Portuguese (Brazil) State
The secret lies in the last line, which tells <command>make</command> to look in the system makefile called <filename>bsd.port.mk</filename>. It is easy to overlook this line, but this is where all the clever stuff comes from—someone has written a makefile that tells <command>make</command> to do all the things above (plus a couple of other things I did not mention, including handling any errors that may occur) and anyone can get access to that just by putting a single line in their own make file! O segredo está na última linha, que conta <command> faço </command> olhar no makefile do sistema chamado <filename> bsd.port.mk </filename> . É fácil ignorar essa linha, mas é daí que vem todas as coisas inteligentes - alguém escreveu um makefile que conta <command> faço </command> para fazer todas as coisas acima (além de algumas outras coisas que não mencionei, incluindo lidar com quaisquer erros que possam ocorrer) e qualquer um pode ter acesso a isso apenas colocando uma única linha em seu próprio arquivo de criação!
If you want to have a look at these system makefiles, they are in <filename>/usr/share/mk</filename>, but it is probably best to wait until you have had a bit of practice with makefiles, as they are very complicated (and if you do look at them, make sure you have a flask of strong coffee handy!) Se você quiser dar uma olhada nestes makefiles do sistema, eles estão em <filename> / usr / share / mk </filename> , mas provavelmente é melhor esperar até que você tenha um pouco de prática com makefiles, pois eles são muito complicados (e se você olhar para eles, certifique-se de ter um frasco de café forte à mão!)
More Advanced Uses of <command>make</command> Usos mais avançados de <command> faço </command>
<command>Make</command> is a very powerful tool, and can do much more than the simple example above shows. Unfortunately, there are several different versions of <command>make</command>, and they all differ considerably. The best way to learn what they can do is probably to read the documentation—hopefully this introduction will have given you a base from which you can do this. <command> Faço </command> é uma ferramenta muito poderosa e pode fazer muito mais do que o simples exemplo acima mostra. Infelizmente, existem várias versões diferentes de <command> faço </command> e todos eles diferem consideravelmente. A melhor maneira de aprender o que eles podem fazer é provavelmente ler a documentação - esperamos que esta introdução tenha lhe dado uma base a partir da qual você pode fazer isso.
The version of make that comes with FreeBSD is the <application>Berkeley make</application>; there is a tutorial for it in <filename>/usr/share/doc/psd/12.make</filename>. To view it, do A versão do make que vem com o FreeBSD é o <application> Berkeley faz </application> ; há um tutorial para isso em <filename> /usr/share/doc/psd/12.make </filename> . Para visualizá-lo, faça
<prompt>%</prompt> <userinput>zmore paper.ascii.gz</userinput> <prompt>%</prompt> <userinput>zmore paper.ascii.gz</userinput>
in that directory. nesse diretório.
Many applications in the ports use <application>GNU make</application>, which has a very good set of <quote>info</quote> pages. If you have installed any of these ports, <application>GNU make</application> will automatically have been installed as <command>gmake</command>. It is also available as a port and package in its own right. Muitas aplicações nas portas usam <application> GNU make </application> , que tem um bom conjunto de <quote> informação </quote> Páginas. Se você instalou qualquer uma dessas portas, <application> GNU make </application> será automaticamente instalado como <command> gmake </command> . Também está disponível como uma porta e pacote por si só.
To view the info pages for <application>GNU make</application>, you will have to edit <filename>dir</filename> in the <filename>/usr/local/info</filename> directory to add an entry for it. This involves adding a line like Para ver as páginas de informação para <application> GNU make </application> , você terá que editar o <filename> dir </filename> arquivo no <filename> / usr / local / info </filename> diretório para adicionar uma entrada para ele. Isso envolve adicionar uma linha como
* Make: (make). The GNU Make utility. * Make: (make). The GNU Make utility.
to the file. Once you have done this, you can type <userinput>info</userinput> and then select <guimenuitem>make</guimenuitem> from the menu (or in <application>Emacs</application>, do <userinput>C-h i</userinput>). para o arquivo. Depois de ter feito isso, você pode digitar <userinput> informação </userinput> e selecione <guimenuitem> faço </guimenuitem> no menu (ou em <application> Emacs </application> , Faz <userinput> Ch i </userinput> )
Debugging Depurando
Introduction to Available Debuggers Introdução à programação
Using a debugger allows running the program under more controlled circumstances. Typically, it is possible to step through the program a line at a time, inspect the value of variables, change them, tell the debugger to run up to a certain point and then stop, and so on. It is also possible to attach to a program that is already running, or load a core file to investigate why the program crashed. It is even possible to debug the kernel, though that is a little trickier than the user applications we will be discussing in this section. Usar um depurador permite executar o programa sob circunstâncias mais controladas. Normalmente, você pode percorrer o programa uma linha de cada vez, inspecionar o valor das variáveis, alterá-las, dizer ao depurador para executar até um certo ponto e, em seguida parar, e assim por diante.Você pode até mesmo anexar a um programa que já está em execução, ou carregar um arquivo principal para investigar porque o programa travou.É possível até mesmo depurar o kernel, embora isso seja um pouco mais complicado do que os aplicativos do usuário estará discutindo nesta seção.
This section is intended to be a quick introduction to using debuggers and does not cover specialized topics such as debugging the kernel. For more information about that, refer to <xref linkend="kerneldebug"/>. Esta seção pretende ser uma introdução ao uso de <command> gdb </command> e não abrange tópicos especializados, como a depuração do kernel.
The standard debugger supplied with FreeBSD 12.1 is called <command>lldb</command> (<application>LLVM debugger</application>). As it is part of the standard installation for that release, there is no need to do anything special to use it. It has good command help, accessible via the <userinput>help</userinput> command, as well as <link xlink:href="https://lldb.llvm.org/">a web tutorial and documentation</link>.
The <command>lldb</command> command is available for FreeBSD 11.3 <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/ports-using.html">from ports or packages</link> as <package>devel/llvm</package>. This will install the default version of lldb (currently 9.0).
The other debugger available with FreeBSD is called <command>gdb</command> (<application>GNU debugger</application>). Unlike lldb, it is not installed by default on FreeBSD 12.1; to use it, <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/ports-using.html">install</link> <package>devel/gdb</package> from ports or packages. The version installed by default on FreeBSD 11.3 is old; instead, install <package>devel/gdb</package> there as well. It has quite good on-line help, as well as a set of info pages.
Which one to use is largely a matter of taste. If familiar with one only, use that one. People familiar with neither or both but wanting to use one from inside <application>Emacs</application> will need to use <command>gdb</command> as <command>lldb</command> is unsupported by <application>Emacs</application>. Otherwise, try both and see which one you prefer.
Using lldb
Starting lldb
Start up lldb by typing
<prompt>%</prompt> <userinput>lldb -- <replaceable>progname</replaceable></userinput> <prompt>%</prompt> <userinput>gdb <replaceable>progname</replaceable></userinput>
Running a Program with lldb Executando um programa no depurador
Compile the program with <option>-g</option> to get the most out of using <command>lldb</command>. It will work without, but will only display the name of the function currently running, instead of the source code. If it displays a line like: Você precisará ter compilado o programa com o <option value=-g> -g </option> opção para tirar o máximo proveito do uso <command> gdb </command> . Ele funcionará sem, mas você verá apenas o nome da função em que está, em vez do código-fonte. Se você vir uma linha como:
Breakpoint 1: where = temp`main, address = …
(without an indication of source code filename and line number) when setting a breakpoint, this means that the program was not compiled with <option>-g</option>. quando <command> gdb </command> inicia, você saberá que o programa não foi compilado com o <option value=-g> -g </option> opção.
Most <command>lldb</command> commands have shorter forms that can be used instead. The longer forms are used here for clarity.
At the <command>lldb</command> prompt, type <userinput>breakpoint set -n main</userinput>. This will tell the debugger not to display the preliminary set-up code in the program being run and to stop execution at the beginning of the program's code. Now type <userinput>process launch</userinput> to actually start the program— it will start at the beginning of the set-up code and then get stopped by the debugger when it calls <function>main()</function>. No <command> gdb </command> prompt, digite <userinput> quebrar principal </userinput> . Isso dirá ao depurador que você não está interessado em observar o código de configuração preliminar no programa que está sendo executado e que ele deve interromper a execução no início de seu código. Agora digite <userinput> corre </userinput> para iniciar o programa - ele será iniciado no início do código de configuração e, em seguida, será interrompido pelo depurador quando ele for chamado <function> a Principal() </function> . (Se você já se perguntou onde <function> a Principal() </function> é chamado, agora você sabe!).
To step through the program a line at a time, type <userinput>thread step-over</userinput>. When the program gets to a function call, step into it by typing <userinput>thread step-in</userinput>. Once in a function call, return from it by typing <userinput>thread step-out</userinput> or use <userinput>up</userinput> and <userinput>down</userinput> to take a quick look at the caller. Agora você pode percorrer o programa, uma linha de cada vez, pressionando <command> n </command> . Se você chegar a uma chamada de função, poderá entrar nela pressionando <command> s </command> . Quando estiver em uma chamada de função, você pode retornar de uma chamada de função pressionando <command> f </command> . Você também pode usar <command> acima </command> e <command> baixa </command> para dar uma olhada rápida no chamador
Here is a simple example of how to spot a mistake in a program with <command>lldb</command>. This is our program (with a deliberate mistake): Aqui está um exemplo simples de como identificar um erro em um programa com <command> gdb </command> . Este é o nosso programa (com um erro deliberado):

Loading…

No matching activity found.

Browse all component changes

Glossary

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

Source information

Source string comment
(itstool) path: sect2/para
Source string location
book.translate.xml:1731
String age
2 months ago
Source string age
2 months ago
Translation file
books/pt_BR/developers-handbook.po, string 321