Frage

I gdb verwende auf einem aix gemeinsamen lib 5.3 auf aix läuft? Wenn ich versuche, GDB für diese Datei ausführen Ich erhalte eine Fehlermeldung „sagen“ Architektur der Datei nicht erkannt“ Sie wissen nicht, wie diese behoben.

Weiß jemand, warum ich diese Meldung „“ Architecture of Datei nicht erkannt? ".

gdb läuft gut auf andere ausführbare Dateien von xlc zusammengestellt.

Gibt es eine Möglichkeit, die ich verwendet habe beim Kompilieren, die mit GDB.some prozessorspezifische Option nicht kompatibel ist.

ich die gemeinsamen lib w xlc v9.0 für aix zusammengestellt.

Danke.

War es hilfreich?

Lösung

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);
}

Dies ist der eigentliche GDB Code in Frage (GDB / arch-utils.c: 530-544).

Die Information an den gdbarch Zeiger übergeben scheint ungültig zu sein. Dies wird durch gdb_find_by_info verursacht einen Nullzeiger zurückkehrt, und dass veranlasst wird, durch find_arch_by_info (GDB / gdbarch.c: 3656) Zurückgeben eines NULL-Zeiger.

Im Grunde bedeutet es, was es sagt: GDB nicht die Architektur der Datei identifizieren konnte. Dies scheint ein gemeinsames Problem für xlc, auch auf den letzten gDB-Versionen.

XLC und GDB ist, so weit ich mich erinnern und zu verstehen, nicht sehr gut, wenn es um die Kompatibilität Bedingungen kommt (AIX-Unterstützung ist minimal), könnten Sie versuchen, die Gnu C Compiler .Sie an den GDB Quellen aussehen könnte für sehr spezifische Informationen (die ich nicht wirklich kann Ihnen).

Hier ist ein Link zu gcc-AIX Spezifika .

Andere Tipps

Sie laufen nicht GDB auf einer gemeinsam genutzten Bibliothek, führen Sie es auf einem ausführbare Datei .

Wenn die ausführbare Datei Ihrer gemeinsam genutzten Bibliothek lädt, wird GDB darüber wissen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top