Ich habe eine Core-Datei, die auf einem Remote-System erstellt wurde, auf das ich keinen direkten Zugriff habe. Ich habe auch lokale Kopien der Bibliotheksdateien vom Remote-System und die ausführbare Datei für das abstürzende Programm.Wie stelle ich einem Verzeichnis den Bibliothekspfad vor, wenn ich eine Core-Datei in gdb unter Linux lade
Ich möchte diesen Core Dump in Gdb analysieren.
Zum Beispiel:
gdb path/to/executable path/to/corefile
Meine Bibliotheken sind im aktuellen Verzeichnis.
In der Vergangenheit habe ich gesehen, Debugger implementieren dies mit der Option "-p." oder "-p/=."; Also meine Frage ist:
Wie kann ich angeben, dass Bibliotheken zuerst aus Pfaden relativ zu meinem aktuellen Verzeichnis geladen werden, wenn eine Corefile in Gdb analysiert?
Ich habe den Pfad ein bisschen falsch, so möchten Sie vielleicht Ihre Antwort zu aktualisieren. Ich werde diese Antwort auffrischen, weil sie teilweise meinen Anforderungen entspricht, aber ich sollte klarer sagen, dass ich einen Ort dem Bibliothekspfad voranstellen möchte, anstatt ihn zu ersetzen (mein Nachteil für das Wort "override"). –
Danke, das hat mir wirklich geholfen! –
In meinem Fall befanden sich die ausführbare Datei und ihre Bibliotheken in einer NFS-gemounteten Struktur und der Host, von dem ich debuggen wollte, war der NFS-Server, also legte ich einen Symlink in die Struktur, so dass solib-absolute-prefix nfs-share-tree war die genaue Lösung. Ich hoffe, das hilft zukünftigen Generationen. –