Ich betrachte einen Kern aus einem Prozess, der unter Unix läuft. Normalerweise kann ich mich in der Umgebung bewegen und in das Backtrace einsteigen, um ein Speicherproblem zu identifizieren. In diesem Fall bin ich mir nicht sicher, wie es weitergeht.Segmentierungsfehler unter Unix - mögliche Stapelkorruption
Erstens gibt das Backtrace nur 3 Frames, wo ich viel mehr erwarten würde. Für diese Rahmen erscheinen alle dargestellten Funktionsparameter vollständig ungültig. Es gibt nicht das, was ich erwarten würde.
Einige Zeiger Parameter haben folgende mit ihnen verbunden sind - nicht-Speicher an der Adresse zugreifen kann
Wäre dies eine Art von kompletten Stapel Korruption vor. Ich habe den Prozess mit libumem ausgeführt und alle Puffer wurden als sauber gemeldet.
umem_status hat auch nichts gemeldet.
so grundsätzlich bin ich ratlos. Was sind die wahrscheinlichen Ursachen? Worauf sollte ich im Code achten, da libumem offenbar keine Fehler gemeldet hat.
Irgendwelche Vorschläge, wie ich weiter debuggen kann? irgendwelche zusätzlichen Funktionen in MDB sollte ich in Betracht ziehen?
danke.
Können Sie den letzten bekannten guten Punkt im Stapel finden (über manuelles Tracing)? Klingt wie ein Pufferüberlauf. –
ist C++ durch Zufall beteiligt? klingt wie ein statisches Initialisierungsproblem. –
wäre hilfreich, wenn Sie diese 3 Frames eingefügt haben, damit wir sehen können, was das sind, denke ich –