我正在通过xcodebuild
调试器启动lldb
,因此我可以更改其执行情况,如:
lldb
# set debugging target
target create /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild
# launch process and stop at entry point
process launch -s -- -sdk iphonesimulator -destination 'name=iPhone SE' test
# set a breakpoint
breakpoint set -F "+[IDELaunchParametersSnapshot launchParametersWithSchemeIdentifier:launcherIdentifier:debuggerIdentifier:launchStyle:runnableLocation:debugProcessAsUID:workingDirectory:commandLineArgs:environmentVariables:architecture:platformIdentifier:buildConfiguration:buildableProduct:deviceAppDataPackage:allowLocationSimulation:locationScenarioReference:showNonLocalizedStrings:language:region:routingCoverageFileReference:enableGPUFrameCaptureMode:enableGPUValidationMode:debugXPCServices:debugAppExtensions:internalIOSLaunchStyle:internalIOSSubstitutionApp:launchAutomaticallySubstyle:]"
break command add
po $rcx = (unsigned long)IDEDefaultLauncherIdentifier
po $r8 = (unsigned long)IDEDefaultDebuggerIdentifier
continue
DONE
# resume execution
continue
我想要实现的是将xcpretty
附加到:
process launch -s -- -sdk iphonesimulator -destination 'name=iPhone SE' test
像
process launch -s -- -sdk iphonesimulator -destination 'name=iPhone SE' test || xcpretty
但我可以看到,显然不是这样。
xcodebuild: error: Unknown build action '||'.
任何想法,如果这是甚至可能,如果是这样的话?
答案 0 :(得分:0)
试试这个
流程启动-s - -sdk iphonesimulator -destination' name = iPhone SE'测试| xcpretty
而不是
流程启动-s - -sdk iphonesimulator -destination' name = iPhone SE'测试|| xcpretty
或者你可以这样走
流程启动-s - -sdk iphonesimulator -destination' name = iPhone SE'测试> output.txt的
xcpretty< output.txt的
答案 1 :(得分:0)
lldb""进程启动中的run-args"不支持管道或重定向操作符。如果设置了-c选项,lldb将使shell在参数上进行shell扩展。但那是与lldb支持的shell的所有交互。
如果您需要调试在执行链中运行的某些内容,则必须手动启动流程链,并在事后附加到链中的流程。执行此操作的方法是在启动进程之前在lldb中启动attach,并使用-w
选项process attach
告诉lldb在启动后附加到进程。然后开始这个过程。除非您的系统负载很重,否则lldb通常会在启动初期抓住该进程,因此对于大多数调试任务,您都不会错过您真正关心的代码。