DDD : watchpoint, observar uma variável

5 Julho 2009 by Nine

Para quem não conhece o ddd, data display debugger, é um front end ao debugger do gdb, gnu data debugger, uma ferramenta para conseguir vasculhar o programa enquanto ele corre, para facilitar a vida a quem programa e detectar os bugs de uma forma mais fácil.

Uma funcionalidade que desconhecia como usar é o watchpoint, monitorizas uma variável e quando ela mudar o programa para e mostra em que ponto do programa te encontras.
A funcionalidade é ideal para quando uma variável toma uma valor que tu não fazes ideia como lá foi parar, colocas um watchpoint, quando a variável mudar o programa pára e dá para ver quem mexeu …

Eu prefiro a linha de comandos à GUI, por isso isto é feito através da linha de comandos que geralmente está por baixo do código, senão Alt-1 e fica activa.

Em primeiro lugar colocar um breakpoint numa linha que a variável seja utilizada,

br FicheiroExemplo.cpp:123

depois, a parte complicada que pode não estar descrita da melhor forma … ainda usei esta funcionalidade poucas vezes. Imprimir o endereço da variável

print &(your_variable)

e activar a monitorização da variável, com o comando

watch *$

Apôs estes simples comandos sempre que a variável mudar a execução do programa pára para se poder analisar. Normalmente não só te interessa ver quem mudou mas também todas as funções responsáveis por essa alteração, as chamadas recursivas de funções, para isso existe o comando

backtrace

que imprime as funções que foram chamadas até ocorrer aquela instrução, ideal para observar a linha de execução do programa.

Eu aprendi esta funcionalidade através da ajuda do utilizador volodya no canal do irc gdb.freenode.net, e está explicado em inglês neste post.

Em resumo …

24 Junho 2009 by Nine
  • TomarLEGO foi um espectáculo
  • os teste continuam, falta o sotaque e posso ser considerado Lisboeta, p§t@ de vida …
  • TomarLEGO foi um espectáculo, a sangria azul também é muito boa
  • Vou para o S. João de Braga, chego, o meu pai pergunta-me se eu já estou a pé, àquelas horas, eu digo que sim, saio e vou dormir :)
  • TomarLEGO foi um espectáculo, viu-se muito pessoal interessante  e até dá para trocar uns mails :P

E este mês foi mais ou menos isto, muita vontade de começar a mexer nos LEGOs mas primeiro há que arrumar, o que não é uma tarefa fácil :)

Já se prepara a terceira edição do TomarLEGO, quem quiser ser lembrado que avise, quando chegar a altura eu aviso para não faltar à próxima edição do TomarLEGO.

2º Tomar LEGO

6 Junho 2009 by Nine

E agora, para algo completamente diferente do habitual, fica aqui o convite para a exposição de LEGO da Comunidade 0937 :)

cartazbs

Façam o favor de aparecer, estarei lá todo o evento ;)

Cute and True

21 Maio 2009 by Nine

When she stares at your mouth -  Kiss her!
When she pushes you or hits you like a dumb ass cuz she thinks she’s stronger than you – Grab her and don’t let go!
When she starts cursing at you trying to act all tuff – Kiss her and tell her you love her!
When she’s quiet – Ask her what’s wrong!
When she ignores you – Give her your attention!
When she pulls away – Pull her back!
When you see her at her worst – Tell her she’s beautiful!
When you see her start crying – Just hold her and don’t say a word!
When you see her walking – Sneak up and hug her waist from behind!
When she’s scared – Protect her!
When she steals your favorite hat/shirt/… – Let her keep it and sleep with it for a night!
When she teases you – Tease her back and make her laugh!
When she doesn’t answer for a long time – Reassure her that everything is okay!
When she looks at you with doubt – Back yourself up!
When she says that she likes you – She really does more than you can understand!
When she grabs at your hands – Hold hers and play with her fingers!
When she bumps into you – Bump into her back and make her laugh!
When she tells you a secret – Keep it safe and untold!
When she looks at you in your eyes – Don’t look away until she does!
When she says it’s over – She still wants you to be hers!

And few more:
- Stay on the phone with her even if she’s not saying anything.
- When she’s mad hug her tight and don’t let go.
- When she says she’s ok don’t believe it and talk with her because 10 yrs later she’ll remember you.
- Call her at 12:00am on her birthday to tell her you love her.
- Treat her like she’s all that matters to you.
- Stay up all night with her when she’s sick.
- Watch her favorite movie with her or her favorite show even if you think it’s stupid.
- Give her the world.
- Let her wear your clothes.
- When she’s bored and sad, hang out with her.
- Let her know she’s important.
- Don’t talk about other girls around her.
- Kiss her in the pouring rain.
- When she runs up to you crying, the first thing you say is: “Whose ass am I kicking baby?”.

Está um espetáculo e não resisti, descaradamente copiado daqui.

Mascote 2ºTOMARLEGO

9 Maio 2009 by Nine
Mascote do 2º TOMARLEGO

Mascote do 2º TOMARLEGO

Já falta pouco …

OpenOffice : calcular diferença entre datas em segundos

2 Maio 2009 by Nine

Quem trabalha com datas em Linux, chega a uma altura que precisa de saber a que data corresponde um determinado número de segundos apôs uma data conhecida, normalmente conhecida como Epoch, 1970-01-01,  para ser mais preciso.

No meu caso a data de referência era outra mas o problema era o mesmo. Normalmente utilizado o oocalc, a folha de cálculo do openoffice para determinar estes valores, é mais fácil do que fazer as contas de cabeça …

Assumindo que os segundos se encontram na célula A1 e que o data de referência é 2001-01-01, a fórmula é :

=A1/86400+DATA(2001;1;1)

O número 86400 corresponde ao número de segundos num dia. Fácil não é :D

Fonte

Basket

23 Abril 2009 by Nine

Já escrevi sobre uma aplicação que utilizava como organizador de notas, o Zim, basicamente era uma wiki pessoal.

A organização dos artigos deixava algo desejar, não conseguia estruturar a informação como queria e não facilitava a separação visual dos vários apontamentos que iam surgindo.

Apôs uma nova pesquisa encontrei a palavra chave para o que estava à procura notetaking, e o problema é encontrar a palavra porque depois o google e a wikipedia resolvem o assunto na maioria dos casos.

Através da wikipédia cheguei a uma lista que compara programas com o intuito de facilitar a retirada de notas e apontamentos para suporte electrónico, descobri que o google têm um programa e melhor ainda descobri o basket.

Screenshot do Basket

Screenshot do Basket

O basket é uma aplicação desenvolvida para o kde mas um apt-get instala-a no gnome. O conceito é fácil, tens cestos e lá colocas a informação que pretendes guardar, inclusive outros cestos.

Mantêm uma estrutura hierárquica e permite colocar icons e estilos de texto nas notas para melhorar a sua identificação.

Ainda não conseguiu desistir do papel, nada que chegue aquele rascunho mal feito que toda a gente percebe o que é … de uma forma diferente de todos e muito menos a que tu querias mas melhora muito a organização de notas soltas que preenche o dia a dia.

Sobrevivi à primeira caminhada …

19 Abril 2009 by Nine

Este sábado participei na minha primeira caminhada  através da ADEFACEC, associação desportiva da EFACEC.

A caminhada teve lugar em Vila Pouca de Aguiar, o percurso estava divido em dois, duas partes de 9 km, acabei por fazer 21 km, houve umas alterções no percurso final que fizeram um incremento de alguns km.

A paisagem foi excelente e a organização 5 estrelas, com passagem por algumas atracções da Vila deu vontade de repetir.

Hoje as pernas nem estão a manifestar muito cansaço mas os especialistas que dizeram que o pior era amanhã, veremos …

A Ritinha e o André …

6 Abril 2009 by Nine

… deram o nó :)

Parece que o pessoal tá a ficar na idade dos casamentos, já não chega as festas de aniversário, agora querem ser chiques e é festa grande :)

Update

14 Março 2009 by Nine

Ok, vamos lá ver, este mês já deu para :

  • ir trabalhar dois dias para Lisboa e nem ver de que cor era o hotel
  • fazer rafting no rio Paiva (espectáculo)
  • voltar a Lisboa passar lá 3 dias, estar em dois hotéis diferentes, dormir alguma coisa mas os testes correrem melhor

Isto é situações extremas, nada de momentos calmos na vida, além disso os testes do projecto ainda vão a meio por isso ainda devemos ter mais oportunidades para loucuras :S