2016-05-16 4 views
0

Я попытался запустить профилирование приложения iOS C++ в Xcode 7.1.1. Но когда я иду «Продукт» - «Профиль», я получаю много ошибок, связанных с частью кода, написанной в сборке.Профиль Xcode не работает с частью сборки

Я могу создать и запустить приложение на iPad 4 без ошибок. Проблема связана только с профилированием.

Я попытался перезагрузить, очистить и перейти к рекомендуемым настройкам проекта.

Я могу профилировать, используя шаблон "OpenGL ES Analysis" непосредственно у Instruments. Но мне нужно «Основные данные» для анализа промахов в кэше. Я не могу запустить его из инструментов - кнопка записи заблокирована.

Вот часть сообщения об ошибке:

CompileC /Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/Bonsai4-gppvscpdtzzkzdakppndntsjcuma/Build/Intermediates/Bonsai4.build/Release-iphoneos/Bonsai4.build/Objects-normal/arm64/Tree-7C49AF5101739F7B.o 
    /Users/ndobrovolskaya/OneDrive/OneDrive/Tree.s normal arm64 assembler-with-cpp com.apple.compilers.llvm.clang.1_0.compiler 
cd /Users/ndobrovolskaya/Desktop/Bonsai/Bonsai4 
export LANG=en_US.US-ASCII 
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin" 
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang 
    -x assembler-with-cpp -arch arm64 -fmessage-length=0 -fdiagnostics-show-note-include-stack 
    -fmacro-backtrace-limit=0 -fmodules -gmodules -fmodules-cache-path=/Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/ModuleCache 
    -fmodules-prune-interval=86400 -fmodules-prune-after=345600 -fbuild-session-file=/Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/ModuleCache/Session.modulevalidation 
    -fmodules-validate-once-per-build-session -Wnon-modular-include-in-framework-module 
    -Werror=non-modular-include-in-framework-module -Wno-trigraphs -fpascal-strings -Os 
    -Wno-missing-field-initializers -Wno-missing-prototypes -Werror=return-type -Wunreachable-code 
    -Werror=deprecated-objc-isa-usage -Werror=objc-root-class -Wno-missing-braces -Wparentheses 
    -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable 
    -Wunused-value -Wempty-body -Wconditional-uninitialized -Wno-unknown-pragmas -Wno-shadow 
    -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion 
    -Wenum-conversion -Wshorten-64-to-32 -Wno-newline-eof -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.1.sdk 
    -fstrict-aliasing -Wdeprecated-declarations -miphoneos-version-min=7.1 -g -fvisibility=hidden 
    -Wno-sign-conversion -fprofile-instr-use=/Users/ndobrovolskaya/Desktop/Bonsai/Bonsai4/OptimizationProfiles/Bonsai4.profdata 
    -iquote /Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/Bonsai4-gppvscpdtzzkzdakppndntsjcuma/Build/Intermediates/Bonsai4.build/Release-iphoneos/Bonsai4.build/Bonsai4-generated-files.hmap 
    -I/Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/Bonsai4-gppvscpdtzzkzdakppndntsjcuma/Build/Intermediates/Bonsai4.build/Release-iphoneos/Bonsai4.build/Bonsai4-own-target-headers.hmap 
    -I/Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/Bonsai4-gppvscpdtzzkzdakppndntsjcuma/Build/Intermediates/Bonsai4.build/Release-iphoneos/Bonsai4.build/Bonsai4-all-target-headers.hmap 
    -iquote /Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/Bonsai4-gppvscpdtzzkzdakppndntsjcuma/Build/Intermediates/Bonsai4.build/Release-iphoneos/Bonsai4.build/Bonsai4-project-headers.hmap 
    -I/Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/Bonsai4-gppvscpdtzzkzdakppndntsjcuma/Build/Products/Release-iphoneos/include 
    -I/Users/ndobrovolskaya/Desktop/Bonsai/Bonsai4/../assimp-ios-xcode46/include 
    -I/usr/local/boost_1_57_0 -I/Users/ndobrovolskaya/Desktop/Bonsai -I/Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/Bonsai4-gppvscpdtzzkzdakppndntsjcuma/Build/Intermediates/Bonsai4.build/Release-iphoneos/Bonsai4.build/DerivedSources/arm64 
    -I/Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/Bonsai4-gppvscpdtzzkzdakppndntsjcuma/Build/Intermediates/Bonsai4.build/Release-iphoneos/Bonsai4.build/DerivedSources 
    -F/Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/Bonsai4-gppvscpdtzzkzdakppndntsjcuma/Build/Products/Release-iphoneos 
    -MMD -MT dependencies -MF /Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/Bonsai4-gppvscpdtzzkzdakppndntsjcuma/Build/Intermediates/Bonsai4.build/Release-iphoneos/Bonsai4.build/Objects-normal/arm64/Tree-7C49AF5101739F7B.d --serialize-diagnostics /Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/Bonsai4-gppvscpdtzzkzdakppndntsjcuma/Build/Intermediates/Bonsai4.build/Release-iphoneos/Bonsai4.build/Objects-normal/arm64/Tree-7C49AF5101739F7B.dia 
    -c /Users/ndobrovolskaya/OneDrive/OneDrive/Tree.s -o /Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/Bonsai4-gppvscpdtzzkzdakppndntsjcuma/Build/Intermediates/Bonsai4.build/Release-iphoneos/Bonsai4.build/Objects-normal/arm64/Tree-7C49AF5101739F7B.o 

/Users/ndobrovolskaya/OneDrive/OneDrive/Tree.s:45:2: error: unknown directive 
.syntax unified 
^ 
<instantiation>:2:2: error: unknown directive 
.thumb 
^ 
/Users/ndobrovolskaya/OneDrive/OneDrive/Tree.s:53:1: note: while in macro instantiation 
BEGIN_FUNCTION_THUMB addVertsUsingNeon 
^ 
<instantiation>:4:2: error: unknown directive 
.thumb_func _addVertsUsingNeon 
^ 
/Users/ndobrovolskaya/OneDrive/OneDrive/Tree.s:53:1: note: while in macro instantiation 
BEGIN_FUNCTION_THUMB addVertsUsingNeon 
^ 
/Users/ndobrovolskaya/OneDrive/OneDrive/Tree.s:83:15: error: vector register expected 
vld1.f32 {q4-q5},[r0:128]! 
     ^
<instantiation>:1:1: error: unrecognized instruction mnemonic 
bx lr 
^ 
/Users/ndobrovolskaya/OneDrive/OneDrive/Tree.s:423:1: note: while in macro instantiation 
END_FUNCTION 
^ 
Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang failed with exit code 1 

ответ

1

Вы собираете свой проект ARM64, но ваш файл сборка с использованием директивы, которые только поддерживается только для 32-битных ARM целей. Примечательно, что он использует директивы, связанные с Thumb, подразумевая, что в коде используется набор команд Thumb 2, который не поддерживается в коде ARM64.

Проверьте, чтобы вы случайно не переключились на создание 64-битного проекта при включении профилирования.

+0

Это работает. Большое спасибо. Я не переключил здание. Но насколько я понимаю, сборки профилей для всех архитектур по умолчанию. Выполнить сборку только для активной архитектуры – Andrey