2017-01-24 2 views
2

Ich habe Xcode mit verschiedenen C++ - Projekten für die letzten fünf Jahre ohne dieses Problem verwendet. Heute habe ich eines meiner älteren Projekte (~ 2 Jahre alt) geöffnet und versucht, eine Inline-Funktion in einer Header-Datei zu debuggen, indem ich einen aktiven Haltepunkt innerhalb dieser Funktion platziere. Aus irgendeinem Grund wird der Debugger diesen Code nicht unterbrechen. Wenn ich jedoch einen Haltepunkt in die CPP-Datei setze, in der diese Funktion aufgerufen wird, kann ich in jede Zeile der Funktion hinein und durch sie hindurchgehen. Ich habe dann festgestellt, dass dies für alle (Inline-) Funktionen, die in Header-Dateien definiert sind, passiert.Xcode 7 Debugger bricht nicht in Inline-Header-Funktionen

Ich hatte dieses Problem noch nie zuvor. Ich habe andere, ähnliche Projekte, die dieses Verhalten nicht zeigen - Breakpoints funktionieren überall.

Ich glaube, dass Xcode LLDB als Debugger verwendet - wo würde ich nach einer Projekteinstellung suchen, die das verursachen könnte?

Ich habe keine relevanten Compiler-Warnungen beim Aufbau.

Ich habe möglicherweise "auf empfohlene Einstellungen aktualisiert" beim Öffnen des alten Projekts in der neueren Xcode - das kann etwas verändert haben, obwohl ich nicht sicher bin was. Ich habe andere Projekte aktualisiert und dieses Problem ist nicht aufgetreten.

Ich verwende Xcode 7 auf El Capitan.

+0

Ich kämpfe auch seit einiger Zeit damit. Der Großteil meines Codes ist C++ - Vorlage in Headern, der Debugger ist ohne diese Funktion nutzlos. – Raffi

Antwort

1

Es funktioniert! Schließlich ist diese Apple Developer Thread Die Lösung enthielt: manuell der Haltepunkt aus der Debugger Aufforderung:

(lldb) br s --file framework.ipp --line 577 

Pausen wie erwartet, während der Unterbrechungspunkt aus Xcode Einstellung (unter Verwendung von 8,3, hatte aber das gleiche Problem mit 4, 5, 6 und 7) an diesem Ort funktioniert nicht. Ich habe viele andere Lösungen ausprobiert, und keiner von ihnen hat den Job gemacht.

Verwandte Themen