Erro de .gdbinit no Eclipse

22 de novembro de 2009

Eu resolvi parar de usar o Vim por um tempinho, só pra esse trabalho em C que eu tenho que entregar daqui a 8 dias. Comecei a usar o Eclipse lá na faculdade e tava tudo jóia.

Vim pra casa e instalei o mesmo Eclipse, e fiz os mesmos passos para começar a programar. Porém, tive uma surpresa quando tive que debugar o código. O Eclipse se negava a fazê-lo, retornando uma mensagem do tipo

“.gdbinit: arquivo ou pasta não encontrada”

Me perguntei que raios que eu tinha feito de errado na configuração! Procurei no Google um pouco e descobri que o .gdbinit é um arquivo que se passa parâmetros e/ou comandos pro GDB, que pode poupar seu trabalho de ficar digitando toda horas as mesmas coisas. Não que seja necessário esse nome, mas é que é o padrão do Eclipse. Eu nem sabia da existência desse bicho, então tinha que ser algum caminho errado ou opção ticada nas configurações.

Depois de mais procuras no Google tentando achar uma solução (e nenhuma encontrada), resolvi partir pra força bruta. Reparei que “gdbinit” e “shared libraries” apareciam juntas bastante, mas não me faziam sentido por serem usadas pelas pessoas que pediam ajuda pela net, mas não por mim!

Eis que, olhando na tela de configuração de Debug do Eclipse…

Menu “Project” -> Properties -> Run/Debug Settings

(se não tiver nada na janelinha, crie alguma)
<nome_da_sua_configuração_de_execução> -> Edit -> Aba “Debugger”

=> Sub-aba “Shared Libraries” -> role barra de rolagem da janela mais interna pra baixo! (até perceber isso… =P )

O problema era que a opção “Load shared library symbols automatically” tava marcada, e causava o erro!

Sinceramente não sei pra que serve, mas sei que testei o Debug no meu EP e funcionou direitinho com as bibliotecas C que eu tô usando.

Resolvi escrever isso aqui porque, como eu não achei nada pela internet a respeito disso, pode ser que venha a ser útil pra mais alguém.

Até mais!


WAMPP + Subversion

2 de março de 2009

Oi gente!

Queria compartilhar aqui as minhas experiências nessa instalação dupla: WAMPP e Subversion.

A figura mais estranha desses três é o Subversion, que eu particularmente não conhecia até semana passada. Ele é um software de controle de versão de arquivos. Como assim? Bom, resumindo, é como se ele tirasse uma foto de cada momento da vida de um arquivo em desenvolvimento, mostrando as diferenças entre duas versões, quem editou e quando.

Isso é muito usado em grandes projetos de software, onde vários arquivos são produzidos ao mesmo tempo por pessoas diferentes, o que pode salvar muito tempo de trabalho em caso de bugs.

Antes de mais nada, só pra esclarecer, uso o WAMPP por questões práticas. Ele instala tudo o que eu quero e, como é só pra eu fazer coisas pra mim, a configuração básica dele me satisfaz completamente.

 

WAMPP

O WAMPP é o apelido do “XAMPP for Windows”. Ele é gratuito e pode ser baixado do site apachefriends.com, que desenvolve o pacote. A versão que eu utilizei é a 1.7.0 .

A primeira coisa a fazer é instalar o software. Após uma instalação normal dele, é preciso habilitar os pacotes pro SVN no Apache e configurar a pasta onde será o repositório das versões de arquivos.

Eu me direcionei por um arquivo readme (pastadoxampp\apache\SVN_README.txt). Só precisei seguir a partir do passo 3, que é editar o arquivo pastadoxampp\apache\conf\httpd.conf  .
 

3a. Uncomment the following two lines:

#LoadModule dav_fs_module modules/mod_dav_fs.so
#LoadModule dav_module modules/mod_dav.so

 
Esse trecho já estava correto. Passei pro próximo.
 

3b. Add the following two lines to the end of the LoadModule section:

LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

 
Adicionei, logo depois da lista enorme de módulos, as linhas:

### SVN (Adicionado depois!) ###
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

E, por fim:

3c. Add the following to end of the file. Note: This Location directive is a
minimal example with no authentication directives. For other options,
especially authentication options, see the Subversion INSTALL file,
the Subversion Book, or the TortoiseSVN Manual.

<Location /svn>
DAV svn
SVNPath your/repository/path
</Location>

Seguindo esse exemplo, coloquei no final do arquivo o seguinte, supondo que você tenha instalado o WAMPP no caminho C:/xampp/ :

#Adicionado depois!
<location /svn>
DAV svn
SVNPath "C:/xampp/webdav"
</location>

O /svn é o caminho onde você quer disponibilizar o repositório. Nos casos de servidores abertos para web isso é útil, pois você disponibiliza a última versão do projeto para qualquer um. Já a pasta webdav, que segundo este site da Apache quer dizer “Web-based Distributed Authoring and Versioning”, ou “Autoria e Versionamento Distribuído Baseado em Web”, serve justamente pra isso, mas nada impede de você escolher uma outra pasta em outro caminho, bastando apenas apontar.

Feitas essas alterações, basta iniciar o Apache (ou reiniciar, caso já estivesse iniciado) e as alterações estarão valendo. Agora, passemos para a configuração do Subversion.

 

Subversion

O que nós fizemos até agora foi configurar o Apache para habilitar o seu Subversion, que já vem incluso mas meio que desabilitado por padrão. Agora, precisamos fazer com que o Subversion seja “iniciado”: que os arquivos utilizados sejam instalados na pasta.

Durante a minha pesquisa pela internet, eu li em muitos lugares sobre o TortoiseSVN, então resolvi usá-lo pra ter a minha opinião a respeito e, realmente, parece ser muito bom. Ele tem um visualisador de versões, pode compará-las… Enfim, ele é bom! Depois de baixar, só instalar ele.

Agora é necessário criar pastas dentro do \xampp\webdav de modo que essas pastas reprensentem os seus projetos paralelos. Mesmo que não se tenha mais de um projeto em andamento, na minha opinião essa hierarquia de pastas não fará mal nenhum, e em caso oposto só deixará a pasta e seus arquivos subversionados mais organizados.

Para fazer isso inicialmente e também no momento da criação de um novo projeto, vá até a pasta \xampp\webdav e crie a(s) pasta(s) dentro dela cujo(s) nome(s)  identifique(m) o(s) projeto(s). Feito isso, clicando sobre uma dessas pastas com o botão direito do mouse, surgirá no menu de contexto um item do Tortoise com um sub-menu, onde se encontra a opção “Create repository here”, ou “Criar repositório aqui”. Com isso, o Tortoise fará a configuração inicial da psta, colocando os arquivos necessários pra vocês.

Agora, só falta configurar o editor de texto.

 

Editor de Texto

No editor de texto, procure pela tela de Preferências e, nela, o local onde você fornece o caminho do executável do SVN, em \xampp\apache\bin\svn.exe. Depois de criar um projeto, dê um Checkout para o URL do repositório usando o caminho completo da forma file:///C:/xampp/webdav/nomedoprojeto e complete com um Commit.

Desculpa por esse último passo, mas como a variedade de programas de desenvolvimento pode ser enorme, se o programa que você utiliza possuir recurso de integração com Subversion, você irá encontrar suas opções em algum lugar dele pois esses são seus comandos.

Obrigado por ler, e qualquer coisa escreva um comentário!

Abraço e boa sorte! =)


Bug no PES2009 (PS2)

1 de fevereiro de 2009

Eu, feliz da vida, estava jogando PES2009 do PS2, no modo “World Tour” jogando com o time do Brasil. A missão era difícil: ganhar um jogo contra o México fazendo um gol correndo ao menos 30m do campo, com pouco tempo de partida.

Antes do início, fui fazer uma substituição, tirando o Luís Fabiano e colocando o Adriano, que tem uma posse de bola melhor.

Jogo vai, jogo vem. Não consigo o gol no 1º tempo. Quando começa o segundo tempo…

Olho bem pro campo e o Luís Fabiano tá lá! Que coisa! Vou ver na tela de formação, e o Adriano tava inutilisável no banco, como se eu tivesse sacado ele! Poxa!

Saio do jogo, entro e faço tudo igual, e acontece de novo. Aí me caiu a ficha: era um bug! O_o

Nunca tinha passado por um bug tão esquisito!

Joguei uns outros modos, e percebi que no “League” e no “Master League” esse bug também ocorre.

Resolvi procurar na internet e descobri que não sou só eu que passei por isso. Num fórum, discutiam sobre o bug e o porque da Konami não terem respondido aos seus e-mails, quando um dos membros chegou com uma “solução”.

Para não sofrer com o bug, faça o seguinte:

  • vá para a tela de formação e faça as substituições;
  • continue a partida (Resume match);
  • assista ao vídeo dos jogadores entrando e saindo;
  • quando a partida for continuar, pause o jogo e entre na tela de substituições ou na de formação, saia e continue a jogar normalmente.

Isso parece que resolve a burrada do programador estagiário da Konami… Hahaha!

Até mais e bom jogo!


Teste pro LinkedIn

18 de novembro de 2008

Fazendo um teste para ver o que aparece no LinkedIn.


Diablo 2 + Linux Ubuntu

4 de outubro de 2008

Aproveitem-se da minha boa vontade: são 2:29 AM de uma madrugada de sexta-feira pra sábado. É, podem falar que é nerdice, eu deixo.

Se você tiver procurando algo de útil (tipo isso aqui)… Aliás, deve ter vindo parar aqui pelo Google, hahaha.

Enfim, do nada me interessei em jogar Diablo 2 rodando no Linux Ubuntu atualizadinho. Eu não sabia NADA do Wine, vulgo “Wine Is Not an Emulator”, pra ver como que fazia. Olhei um pouco aqui e ali e descobri que era só rodar o arquivo que eu queria (<cdrom>:setup.exe) na linha de comando, usando, no meu caso,

wine /media/cdrom/setup.exe &

onde o ‘&’ grátis ali, pra quem não sabe, é pra executar o comando em background. Assim, se você fechar a janela do terminal por motivos quaisquer, o programa continua executando.

Enfim, me veio uma pergunta: “Tio, eu já tenho instalado o Diablo 2. Preciso instalar ele?” Resposta: SIM!

Segundo este link, que eu custei pra achar (de novo, a minha boa vontade! AHUEhuahe), os programadores do Wine dizem, nessas palavras, que “não é pra você tentar configurar o Wine pra rodar direto do C:, porque eles fizeram o Wine pensando que ia ter alguém tentando fazer justamente isso, então eless dificultaram isso a ponto de você não conseguir fazer acidentalmente e, se você conseguir, o Wine pode até continuar funcionando, mas o seu C: não”, hauehuahae!

Toca instalar o gerador de bizutos. Mesmo esquema: usa a linha de comando ali em cima e instala. Li em alguns fóruns umas pessoas dizendo que “ah, a minha instalação demorou pra caramba!”. Não sei se isso existe, e se existiu, em que época foi. Pra mim, foi mais rápido até que no Windows! O_O”

Instalado, é só acessar o Wine ou, se não, botar o CD do D2 e clicar em ‘Play’.

Aí, eu me lembrei que o meu Diablo 2 tá instalado numa partição separada da do Ruindows. Acessei o jogo na outra partição e deu certinho também, com a vantagem que já tava na versão certa.

Conclusão: instalar funciona, e rodar da outra partição também. Qual é o mais certo/garantido? Não sei. Postei no fórum deles, e espero logo ter uma resposta, aí eu dou edit aqui.

Fui!

——

Edit 1: se você não tem placa de vídeo no seu computador, mas insiste em forçar, parabéns se você conseguir. Meu PC começou a pedir água quando entrou na sala da Bnet. Fazer o q… =/