• Nenhum resultado encontrado

Usando emacs, vim e gdb. Um guia BEM básico

N/A
N/A
Protected

Academic year: 2021

Share "Usando emacs, vim e gdb. Um guia BEM básico"

Copied!
22
0
0

Texto

(1)

Usando emacs, vim e gdb

Um guia BEM básico

Fábio Augusto Salve Dias

Fábio Augusto Salve Dias

fabio.dias@gmail.com

fabio.dias@gmail.com

(2)

Emacs

Emacs





Editor MACroS

Editor MACroS





http://www.gnu.org/software/emacs/

http://www.gnu.org/software/emacs/





Disponível para inúmeras plataformas

Disponível para inúmeras plataformas

Versátil e expansível

Versátil e expansível





Versátil e expansível

Versátil e expansível



 Possibilita debug, execução de comandos, Possibilita debug, execução de comandos,

leitura de e

leitura de e--mails e até um “psiquiatra” de mails e até um “psiquiatra” de maneira integrada.

(3)

Vantagens

Vantagens





Versões gráficas e modo texto (ssh)

Versões gráficas e modo texto (ssh)





Syntax highlight para inúmeras linguagens

Syntax highlight para inúmeras linguagens



 C/C++, Java, HTML, tex, phyton, vhdl ...C/C++, Java, HTML, tex, phyton, vhdl ...

Auto

Auto--tabulação

tabulação





Auto

Auto--tabulação

tabulação



 TAB identa a linha corrente TAB identa a linha corrente

(opinião pessoal) (opinião pessoal) ☺☺





Salva backups automaticamente

Salva backups automaticamente



(4)

Desvantagens

Desvantagens



Interface pouco intuitiva

Interface pouco intuitiva

 Utiliza conjuntos de teclas de atalho bastante Utiliza conjuntos de teclas de atalho bastante

incomuns, como Ctrl+Y para colar e Ctrl+W para incomuns, como Ctrl+Y para colar e Ctrl+W para recortar.

recortar. recortar. recortar.

 Selecionar com o mouse automaticamente Selecionar com o mouse automaticamente

copia. copia.

 Em modo texto, os menus são abertos através Em modo texto, os menus são abertos através

da tecla F10 da tecla F10

(5)

Usando o emacs

Usando o emacs





Abrir arquivo:

Abrir arquivo:



 Jeito fácil:Jeito fácil:



 emacs nomearq.txt : Abre o arquivo ou cria se não emacs nomearq.txt : Abre o arquivo ou cria se não existir

existir existir existir



 Jeito nãoJeito não--fácilfácil



 Abra o emacs, adicione um novo buffer (no menu Abra o emacs, adicione um novo buffer (no menu buffer, em console acessível pelo F10), e escreva buffer, em console acessível pelo F10), e escreva nele.

(6)

Usando o emacs

Usando o emacs

••Salvar: Ctrl+X Ctrl+S

Salvar: Ctrl+X Ctrl+S

••Sair: Ctrl+X Ctrl+C

Sair: Ctrl+X Ctrl+C

••Recortar: Ctrl+W

Recortar: Ctrl+W

••Colar: Ctrl+Y

Colar: Ctrl+Y

••Colar: Ctrl+Y

Colar: Ctrl+Y

••Identar a linha: TAB

Identar a linha: TAB

••Localizar: Ctrl+S

Localizar: Ctrl+S

••Substituir: Alt+Shift+5 (Alt+%)

Substituir: Alt+Shift+5 (Alt+%)

••Abrir o Menu: F10

Abrir o Menu: F10

(7)





A tecla META (M)

A tecla META (M)





Pode ser acessada como:

Pode ser acessada como:

Usando o emacs

Usando o emacs



Alt Alt 

 Exemplo: MExemplo: M--x => Alt+x (sem soltar o alt)x => Alt+x (sem soltar o alt) 

Esc Esc –– apertar e soltarapertar e soltar 

(8)

Mais informações

Mais informações





Emacs Manual

Emacs Manual



 http://www.gnu.org/software/emacs/manual/ehttp://www.gnu.org/software/emacs/manual/e

macs.html macs.html





Emacs FAQ

Emacs FAQ



(9)

vim

vim

 

VI iMproved

VI iMproved

 

http://www.vim.org/

http://www.vim.org/





Praticamente onipresente em sistemas *nix

Praticamente onipresente em sistemas *nix

Syntax highlight para infinitas linguagens e

Syntax highlight para infinitas linguagens e





Syntax highlight para infinitas linguagens e

Syntax highlight para infinitas linguagens e

tipos de arquivos, incluindo os arquivos

tipos de arquivos, incluindo os arquivos

.conf do linux, por exemplo

.conf do linux, por exemplo



(10)

Usando o vim

Usando o vim





Básico do básico:

Básico do básico:



 O vim funciona em modos. Ao abrir um O vim funciona em modos. Ao abrir um

arquivo,

arquivo, ELE NÃO ESTÁ EM MODO DE ELE NÃO ESTÁ EM MODO DE EDIÇÃO

EDIÇÃO, e sim no modo de comando., e sim no modo de comando.

EDIÇÃO

EDIÇÃO, e sim no modo de comando., e sim no modo de comando.



 Para entrar no modo de edição, aperte Para entrar no modo de edição, aperte

INSERT. Para ir ao modo de comando, INSERT. Para ir ao modo de comando, aperte ESC.

(11)

Usando o vim

Usando o vim





Comandos são usados somente no modo

Comandos são usados somente no modo

de comando, e sempre são precedidos

de comando, e sempre são precedidos

por ‘:’.

por ‘:’.

  Salvar: “:w”Salvar: “:w”   Salvar: “:w”Salvar: “:w”   Sair: “:q”Sair: “:q” 

 Salvar e sair: “:wq”Salvar e sair: “:wq” 

(12)

Maiores informações

Maiores informações

 

http://www.las.ic.unicamp.br/~iuriatan/Quic

http://www.las.ic.unicamp.br/~iuriatan/Quic

kVIM.txt

kVIM.txt





www.truth.sk/vim/vimbook

www.truth.sk/vim/vimbook--OPL.pdf

OPL.pdf





www.truth.sk/vim/vimbook

www.truth.sk/vim/vimbook--OPL.pdf

OPL.pdf



 Livro com 572 páginas sobre o vim (!!)Livro com 572 páginas sobre o vim (!!)



(13)

gdb

gdb





The GNU Project Debugger

The GNU Project Debugger





http://www.gnu.org/software/gdb/

http://www.gnu.org/software/gdb/





Capaz de depurar código em várias

Capaz de depurar código em várias

plataformas e linguagens.

plataformas e linguagens.

(14)

Usando o gdb (com gcc)

Usando o gdb (com gcc)





Primeiro passo:

Primeiro passo:



 Adicionar a opção “Adicionar a opção “--g” à linha de compilação g” à linha de compilação

do programa a ser depurado. Com isso, o gcc do programa a ser depurado. Com isso, o gcc adicionará as informações necessárias para adicionará as informações necessárias para adicionará as informações necessárias para adicionará as informações necessárias para depuração no executável.

depuração no executável.





“gdb lab6 < lab6.in”

“gdb lab6 < lab6.in”



 Abre o gdb, carregando o executável ‘lab6’, e Abre o gdb, carregando o executável ‘lab6’, e

usa como entrada deste o arquivo lab6.in usa como entrada deste o arquivo lab6.in

(15)

Comandos do gdb

Comandos do gdb



 b <funcao/arquivo_fonte:num_linha>b <funcao/arquivo_fonte:num_linha> 

 Cria um breakpoint na função ou linha especificada do Cria um breakpoint na função ou linha especificada do

código fonte. código fonte.   Ex:Ex: ra015988@apoena:~$ gdb gp ra015988@apoena:~$ gdb gp GNU gdb 2002 GNU gdb 2002--0404--0101--cvscvs GNU gdb 2002 GNU gdb 2002--0404--0101--cvscvs

Copyright 2002 Free Software Foundation, Inc. Copyright 2002 Free Software Foundation, Inc.

GDB is free software, covered by the GNU General Public License, and you GDB is free software, covered by the GNU General Public License, and you

are are

welcome to change it and/or distribute copies of it under certain conditions. welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions.

Type "show copying" to see the conditions.

There is absolutely no warranty for GDB. Type "show warranty" for details. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386

This GDB was configured as "i386--linux"...linux"... (gdb) b main

(gdb) b main

Breakpoint 1 at 0x80490b4: file . main.c, line 70. Breakpoint 1 at 0x80490b4: file . main.c, line 70. (gdb)

(16)

Comandos do gdb

Comandos do gdb

 

rr



 Executa o programa do inícioExecuta o programa do início

 

cc

 

cc



(17)

Comandos do gdb

Comandos do gdb





p <expressao>

p <expressao>



 Mostra o resultado da expressão. Esta pode ser Mostra o resultado da expressão. Esta pode ser

composta por operações, chamadas de funções e composta por operações, chamadas de funções e variáveis. Pode

variáveis. Pode--se inclusive alterar o conteúdo da se inclusive alterar o conteúdo da variáveis. Pode

variáveis. Pode--se inclusive alterar o conteúdo da se inclusive alterar o conteúdo da variável. variável.   Ex:Ex: (gdb) p start (gdb) p start $3 = {wall = 1} $3 = {wall = 1} (gdb) p (start=2) (gdb) p (start=2) $4 = {wall = 2} $4 = {wall = 2} (gdb) p start (gdb) p start $5 = {wall = 2} $5 = {wall = 2}

(18)

Comandos do gdb

Comandos do gdb





L (ele não é

L (ele não é case sensitive

case sensitive

))



 Lista 10 linhas do código, a partir do ponto Lista 10 linhas do código, a partir do ponto

atual de execução ou do fim da listagem atual de execução ou do fim da listagem anterior.

anterior. anterior. anterior.



 Possui mais opçõesPossui mais opções



(19)

Comandos do gdb

Comandos do gdb





where

where



 Indica o ponto atual de execução do Indica o ponto atual de execução do

programa. programa.



 Útil para localizar os tão temidos Útil para localizar os tão temidos SEGFAULTSEGFAULT 

(20)

Comandos do gdb

Comandos do gdb





n <num_steps>

n <num_steps>



 Avança uma (ou num_steps) linha(s) de Avança uma (ou num_steps) linha(s) de

código na execução do programa. código na execução do programa.



 Não entra em subrotinasNão entra em subrotinas 

 Não entra em subrotinasNão entra em subrotinas





s <num_steps>

s <num_steps>



(21)

Comandos do gdb

Comandos do gdb

 

kk



 Interrompe a execução do programa atual.Interrompe a execução do programa atual.

 

qq



(22)

Maiores informações

Maiores informações

 

http://www.gnu.org/software/gdb/documen

http://www.gnu.org/software/gdb/documen

tation/

tation/



Referências

Documentos relacionados

Pensando nisso, o Governo do Distrito Federal estabeleceu a implantação da Política Nacional de Resíduos Sólidos, visando atender o que regulamenta a Lei de nº

Experiência no exercício da docência na educação básica (para fins de autorização, considerar os docentes previstos para os dois primeiros anos do curso) Obrigatório para cursos

POR2102 1 Portugisisk grammatikk ved vekt på korpusbaserte lingvistiske undersøkelser.. Oppgaver

Hyphal structure dimitic; generative hyphae clamped, hyaline, thin to slightly thick-walled, 2,0-4,5µm; skeletal hyphae hyaline to brown, thick-walled to solid, sometimes

As discussões sobre ações afirmativas na UFS devem necessariamente estar lastreadas no diagnóstico da situação atual, nos objetivos da universidade e em dados

O Procurador Geral do Município de Maceió, no uso de suas atribuições regimentais, torna pública a abertura do Processo Seletivo visando o preenchimento de 25

Durante participação no seminário &#34;Acidentes com Vazamento de Óleo - Aspectos Técnicos e Legais&#34;, organizado pela Câmara de Comércio Brasil-Estados Unidos

O Selo Social ViraVida Diamante será emitido para as experiências que alcançarem o maior número de pontos em sua categoria e área prioritária, segundo a avaliação