Falha de Segmentação (Core Dump) Acontece e NÃO Acontece em 2 Diferentes Distros do Linux [closed]

0

Sou novato no Linux OS, instalei o Ubuntu 14.04 LTS (64 bits) para fazer um projeto C ++. Infelizmente, quando meu professor me deu um código em C ++, recebi uma Falha de Segmentação (core dump) quando o executei no meu Ubuntu, mas quando pedi ao meu amigo para executá-lo em seu SO Elementary (32 bits) - outra distro do Linux , o código funcionou muito bem. Então eu quero fazer algumas perguntas:

  1. É possível que um programa seja executado bem em uma versão de 32 bits, mas não possa ser executado em um de 64 bits (no meu caso, Core Dump)?
  2. Meu computador é uma máquina de 64 bits, posso instalar uma versão de 32 bits do Ubuntu?
  3. Devo tentar o Ubuntu 15 para ver se ele recebe o mesmo erro (Core Dump)?
por VuNguyen 05.03.2016 / 15:00

1 resposta

2

A melhor aposta é provavelmente aprender como depurar seu código usando o gdb. Crie seu código com o sinalizador -g (para ativar os símbolos de depuração) e, em seguida, execute no lado gdb, por exemplo,

gdb ./nameofyourprogram

quando a falha de segmentação ocorre, digite "where" e você verá onde ela falha. Aprender a depurar código é tão importante quanto aprender a codificar. Também pode ser uma boa ideia se familiarizar com o depurador usando um guia de primeiros passos on-line .

    
por Colin Ian King 05.03.2016 / 16:37