2015-09-07 10 views
7

मैं रिवर्स इंजीनियरिंग एक्सकोड हूं और मुझे आश्चर्य है कि डीबग लॉग सक्षम करने का कोई तरीका है या नहीं। मुझे लगता है कि एक्सकोड के लिए शायद कुछ छिपी वरीयताएं हैं, है ना?एक्सकोड आंतरिक डीबग लॉग

उत्तर

23

हां, आप एक्सकोड में बहुत सारे छिपे हुए लॉग सक्षम कर सकते हैं। यहां सभी पहलुओं की एक सूची है जहां आप लॉग स्तर को ट्वीक कर सकते हैं।

(lldb) po [[[DVTLogAspect allAspects] valueForKey:@"name"] sortedArrayUsingSelector:@selector(compare:)] 
AutomaticTermination 
AuxiliaryFilesWriting 
BlockQueue 
Build 
BuildConfigurations 
BuildContext 
BuildInfo 
BuildMessages 
BuildPlanCreation 
BuildRuleLoading 
BuildSettingExpansion 
BuildSettings 
BuildTaskCreation 
Building 
Cache 
CachePruning 
Caching 
Capabilities 
ClangCodeCompletion 
CodeSign 
CodeSignUI 
CommandInvocation 
CommandLineBuildTiming 
ConfigInspectionContext 
Container 
DBGDebugSessionPerformance 
DBGFormattedSummaryPerformance 
DBGNonPrimaryPCPerformance 
DBGStackFrameFetchPerformance 
DBGSteppingPerformance 
DBGVariablesViewPerformance 
DBGViewDebugger 
DBGXPCDebugging 
DSMDocSetLoading 
DSMDocSetSearch 
DVTActivityOptions 
DVTAnnotationManager 
DVTArchitecture 
DVTAssertionEnvironment 
DVTAssertions 
DVTBindingHelper 
DVTCodesigningAllTheThings 
DVTCollectionChecking 
DVTCommandLineTool 
DVTDevice 
DVTDeviceSearch 
DVTDownloadable 
DVTFilePath 
DVTFilePathFSEvents 
DVTFilePathLogMetrics 
DVTFileType 
DVTFindBar 
DVTFirstLaunchPackageInstallationHelper 
DVTFontAndColorTheme 
DVTInvalidExtension 
DVTMacroExpansionParsing 
DVTMacroNamepsace 
DVTMixIn 
DVTNSImageAdditions 
DVTNSImage_ImageDeallocations 
DVTNSRunLoopAdditions 
DVTPlatform 
DVTPlugInExtensionFaulting 
DVTPlugInLoading 
DVTPlugInLocator 
DVTPlugInManager 
DVTPlugInQuery 
DVTPreferenceSetManager 
DVTRegularExpression 
DVTReplacementView 
DVTSDK 
DVTSigningCertificate 
DVTSigningCertificateManager 
DVTSigningCertificateSource 
DVTSourceEditorDrawing 
DVTSourceEditorFolding 
DVTSourceEditorLayout 
DVTSourceEditorPerformance 
DVTSourceLandmarks 
DVTSourceModel 
DVTSourceScanner 
DVTSourceSpecificationLoading 
DVTStateSaving 
DVTSystemActivity 
DVTTextAnnotation 
DVTTextCompletionPerformance 
DVTTextCompletionUI 
DVTTextResponsivenessPerformance 
DVTToolchain 
DepCommandTraversal 
DepNodeTraversal 
Dependencies 
DependencyAnalysis 
DependencyGraph 
DependencyGraphCreation 
DependencyGraphCreationMetric 
DependencyGraphLock 
DependencyIssue 
DerivedInfo 
DerivedTargetAttributes 
DocumentFileTypes 
Executable 
FSWatcher 
FileInfoCaching 
FileRefCaching 
FileSuffixMapping 
FileTypeDetection 
GenericOutputParsing 
GroupEnumerator 
HdrScanning 
HeaderScanning 
Headermap 
HeadermapCreation 
Headermaps 
IBAutoAttach 
IBICPerformanceMetric 
IBMessageChannel 
IDEActivityLogSection 
IDEActivityReportFileIOCoordinator 
IDEActivityView 
IDEActivityViewIssues 
IDEActivityViewStructure 
IDEApplicationLaunchPerformance 
IDEBatchFindMetric 
IDEBatchFindNavigator 
IDEBuildAlertMonitor 
IDEBuildArbitratorDebug 
IDEBuildDebugMetric 
IDEBuildIssueProviderLogLoadingPerformance 
IDEBuildOnlyMetric 
IDEBuildOperationDebug 
IDEBuildOperationDependencies 
IDEBuildOperationMemorySnapshot 
IDEBuildOperationQueueSetResourceManagement 
IDEBuildOperationTiming 
IDEBuildTaskDebug 
IDEBuilderDebug 
IDECallHierarchy 
IDECallerGenius 
IDEClangDiagnostic 
IDECodeModule 
IDECommandManagerPerformance 
IDEContainerDebug 
IDEContainerFSEventsDebug 
IDEContainerItemSCMDebug 
IDEContextAutocreation 
IDECounterpartsGeniusResultsFinderPerformance 
IDEDeclarativeInspectorGeneratorLoadingPerformanceAspect 
IDEDiagnosticController 
IDEEditorContextDocumentForNavBarStructureChanged 
IDEEditorContextFluidSwipeDebug 
IDEEditorContextNavigation 
IDEEditorContextObjectGraphCoalescing 
IDEEditorCoordinator 
IDEEditorDocument 
IDEEditorDocumentDebug 
IDEEditorDocumentModificationAspect 
IDEEditorOpenPerformance 
IDEExecutionEnvironmentExecuteOperation 
IDEFileReferenceDebug 
IDEFileReference_CallingDocumentEditedStateChangedTooOften 
IDEFolderDebug 
IDEGeniusResults 
IDEGeniusResultsPerformance 
IDEImplicitDependenciesDebug 
IDEIndexDataSourcePerformanceAspect 
IDEIndexDatabase 
IDEIndexImporterDebug 
IDEIndexQP 
IDEIndexQuery 
IDEIndexSwiftDataSource 
IDEIndexing 
IDEIndexingASTSize 
IDEIndexingClangInvocation 
IDEIndexingMetrics 
IDEIndexingScheduling 
IDEInitialization 
IDEIssueManager 
IDEKVO 
IDEKeyBindings 
IDELicenseAgreementViewController 
IDELogStore 
IDENavigableItem 
IDENavigableItemArchivableRepresentation 
IDENavigableItemCoordinator 
IDENavigatorOutlineViewPerformance 
IDENotifications 
IDEOpenQuickly 
IDEOpenQuicklyMetrics 
IDEPackageInstallerHelper 
IDEPlaygroundExecutionCoordinator 
IDEReadOnlyItemsManager 
IDERunContextManager 
IDERunContextManagerPerformance 
IDERunDestination 
IDERunDestinationPerformance 
IDESchemeSheetOpening 
IDESourceCodeCallersCalleesGeniusResultsFinder 
IDESourceCodeIndexGeniusResultsFinder 
IDESourceCodeNavigation 
IDESourceCodeNavigationPerformance 
IDESourceCodeSymbolsColoring 
IDESourceCodeSymbolsColoringPerformance 
IDESourceControl 
IDESourceControlFileScanning 
IDESourceControlProfiling 
IDESourceControlTaskOperation 
IDESourceEditorDropRecomputableState 
IDESourceEditorTopLevelStructure 
IDESourceKitService 
IDESourceLanguageServiceSwift 
IDESourceSyntaxColoringPrefetch 
IDESyntaxColoringPerformance 
IDETestManager 
IDETestingHelperDebug 
IDETextEncoding 
IDETextIndex 
IDEUpgradeTaskPerformanceMetric 
IDEUtilityAreaPerformanceAspect 
IDEVersionedFileManager 
IDEWelcomeWindowPerformance 
IDEWorkspaceClosing 
IDEWorkspaceLoading 
IDEWorkspaceUILoading 
IndexingInfo 
InstantOff 
IntegrityChecking 
LaunchRunPhase 
MessageQueues 
Modules 
NativeBuilding 
OperationStatus 
Operations 
OptionCategories 
PersistedBuildResults 
PlatformLoading 
Plist 
PlugInCompilers 
PlugInTools 
PluginLoading 
PrecompiledHeader 
ProfileScheme 
ProjectLoading 
ProjectLocalization 
ProjectReference 
ProjectSaving 
ProjectTiming 
PropertyValue 
QuickHelp 
RecursiveSearchPaths 
RelevantToolSpecs 
RunAlerts 
SDKLoading 
SimplePreprocessor 
SourceFileFiltering 
SpecificationLoading 
SpecificationLoadingTiming 
SpecificationsDebug 
SupportedBuildTools 
TSRegularExpression 
Target 
TargetCache 
TargetCaches 
ThreadedOperations 
Unarchiving 
WorkQueueProcessing 
XBS 
XCClangResultsPostprocessor 
XCGccMakefileDependencies 
XCPropertyValue 
iPhoneSimulator 

के साथ इस सूची प्राप्त वहाँ तीन लॉग स्तरों

हैं
  1. महत्वपूर्ण (डिफ़ॉल्ट)
  2. मानक
  3. वर्बोज़

एक लॉग स्तर बदलने के लिए, संलग्न पहलू नाम पर LogLevel ए इसे एक्सकोड की वरीयताओं में लिखें। उदाहरण के लिए, एसडीके लोड हो रहा है के बारे में वर्बोज़ लॉग प्राप्त करने के लिए, निम्न आदेश टाइप करें:

defaults write com.apple.dt.xcode DVTSDKLogLevel -int 3 && killall -u $USER cfprefsd 

एक ही बार में सभी लॉग स्तर बदलने के लिए, DVTDefaultLogLevel वरीयता का उपयोग करें। लेकिन आप शायद ऐसा नहीं करना चाहते हैं क्योंकि यह जल्दी से बहुत verbose रास्ता मिल जाएगा।

आप स्थायी रूप से संग्रहीत उपयोगकर्ता चूक नहीं करना चाहते हैं, तो आप एक टर्मिनल से चलाने के लिए और Xcode बजाय पैरामीटर के रूप में उपयोगकर्ता डिफ़ॉल्ट पारित कर सकते हैं:

/Applications/Xcode.app/Contents/MacOS/Xcode -DVTSDKLogLevel 3 
+0

यह बहुत अच्छा है। क्या आपको पता है कि क्या सभी लॉग पहलुओं के लिए वर्बोज़ लॉग स्तर को सक्षम करने के लिए एक्सकोड प्राप्त करने के लिए कोई शॉर्टेंड है? – danielpunkass

+1

हां, आप 'DVTDefaultLogLevel' का उपयोग कर सकते हैं, लेकिन यदि आप स्तर को 3 पर सेट करते हैं तो यह लॉग के ** टन ** उत्पन्न करेगा। – 0xced

+0

यह जानना बहुत अच्छा है। अगर मैं उपयुक्त विशिष्ट पहलू को नहीं समझ पा रहा हूं तो इसे चुटकी में इस्तेमाल कर सकते हैं। – danielpunkass

संबंधित मुद्दे