This translation is community contributed and may not be up to date. We only maintain the English version of the documentation. Read this manual in English
Tutaj opisujemy, jak debugować kompilację za pomocą Xcode, preferowanego przez Apple środowiska IDE do tworzenia aplikacji na macOS i iOS.
--with-symbols (więcej informacji):$ cd myproject
$ wget http://d.defold.com/archive/<sha1>/bob/bob.jar
$ java -jar bob.jar --platform armv7-darwin build --with-symbols --variant debug --archive bundle -bo build/ios -mp <app>.mobileprovision --identity "iPhone Developer: Your Name (ID)"
Xcode, iTunes albo ios-deploy$ ios-deploy -b <AppName>.ipa
Pobierz folder .dSYM (czyli symbole debugowania)
Jeśli projekt nie używa rozszerzeń natywnych (Native Extensions), możesz pobrać plik .dSYM z d.defold.com
Jeśli używasz rozszerzenia natywnego, folder .dSYM jest generowany podczas budowania za pomocą bob.jar. Wystarczy samo zbudowanie projektu, bez archiwizacji ani bundlowania:
$ cd myproject
$ unzip .internal/cache/arm64-ios/build.zip
$ mv dmengine.dSYM <AppName>.dSYM
$ mv <AppName>.dSYM/Contents/Resources/DWARF/dmengine <AppName>.dSYM/Contents/Resources/DWARF/<AppName>
Aby poprawnie debugować, potrzebujemy projektu oraz zmapowanego kodu źródłowego. Nie używamy tego projektu do budowania, a jedynie do debugowania.
Utwórz nowy projekt Xcode i wybierz szablon Game

Wybierz nazwę (np. debug) i ustawienia domyślne
Wybierz folder, w którym chcesz zapisać projekt
Dodaj swój kod do aplikacji

Upewnij się, że opcja Copy items if needed jest odznaczona.

Oto efekt końcowy

Wyłącz krok Build


Ustaw wersję Deployment target tak, aby była większa niż wersja iOS na Twoim urządzeniu

Wybierz urządzenie docelowe

Masz kilka opcji debugowania aplikacji:
Wybierz Debug -> Attach to process... i wybierz z listy aplikację
Albo wybierz Attach to process by PID or Process name

Uruchom aplikację na urządzeniu
W Edit Scheme dodaj folder
Aby użyć lldb, wykonanie musi być wstrzymane
.dSYM do lldb(lldb) add-dsym <PathTo.dSYM>

lldb poprawnie wczytał symbole(lldb) image list <AppName>
(lldb) settings set target.source-map /Users/builder/ci/builds/engine-ios-64-master/build /Users/mathiaswesterdahl/work/defold
(lldb) settings append target.source-map /private/var/folders/m5/bcw7ykhd6vq9lwjzq1mkp8j00000gn/T/job4836347589046353012/upload/videoplayer/src /Users/mathiaswesterdahl/work/projects/extension-videoplayer-native/videoplayer/src
job1298751322870374150 i za każdym razem zawiera losowy numer.$ dsymutil -dump-debug-map <executable> 2>&1 >/dev/null | grep /job
(lldb) settings show target.source-map
Możesz sprawdzić, z którego pliku źródłowego pochodzi symbol, używając:
(lldb) image lookup -va <SymbolName>
Otwórz plik w widoku projektu i ustaw punkt przerwania

Aby debugger zaakceptował folder .dSYM, UUID musi odpowiadać UUID debugowanego pliku wykonywalnego. Możesz sprawdzić UUID w ten sposób:
$ dwarfdump -u <PathToBinary>