Pergunta

Eu estou usando gdb em um aix compartilhada lib em execução no AIX 5.3? Quando tento executar gdb para este arquivo eu recebo uma mensagem de erro dizendo "" Arquitetura do arquivo não reconhecido" Não sei como começar este fixo.

Alguém sabe por que eu recebo esta mensagem "" Arquitetura do arquivo não reconhecido? ".

gdb funciona muito bem em outros executáveis ??compilados pela xlc.

Existe alguma opção que eu poderia ter usado durante a compilação, o que não é compatível opção específica processador GDB.some com.

Eu compilei o lib compartilhada w v9.0 xlc para AIX.

Graças.

Foi útil?

Solução

void
set_gdbarch_from_file (bfd *abfd)
{
  struct gdbarch_info info;
  struct gdbarch *gdbarch;

  gdbarch_info_init (&info);
  info.abfd = abfd;
  info.target_desc = target_current_description ();
  gdbarch = gdbarch_find_by_info (info);

  if (gdbarch == NULL)
    error (_("Architecture of file not recognized."));
  deprecated_current_gdbarch_select_hack (gdbarch);
}

Este é o código GDB real em questão (GDB / arch-utils.c: 530-544).

As informações passadas para o ponteiro gdbarch parece ser inválido. Isto é causado por gdb_find_by_info devolver um apontador NULL, e que é causada por find_arch_by_info (GDB / gdbarch.c: 3656) retornando um ponteiro nulo.

Basicamente, significa o que diz: GDB não conseguiu identificar a arquitetura do arquivo. Este parece ser um problema comum para xlc, mesmo em versões recentes GDB.

XLC e gdb são, na medida i lembrar e compreender, não é muito bom quando se trata de termos de compatibilidade (suporte AIX é mínima), você pode tentar usar o Gnu C Compiler .Você pode olhar para as fontes GDB para muito informações específicas (que eu não posso realmente dar-lhe).

Aqui é um link para detalhes gcc-AIX .

Outras dicas

Você não corre GDB em uma biblioteca compartilhada, você executá-lo em um executável .

Se as cargas executáveis ??sua biblioteca compartilhada, GDB vai saber sobre isso.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top