LLDB使用xcpretty启动xcodebuild



我通过lldb调试器启动xcodebuild,因此我可以更改其执行,如下所示:

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 '||'.

任何想法,如果这是可能的,如果是,如何?

试试这个

进程启动 -s -- -sdk iphone模拟器 -目的地 'name=iPhone SE' 测试 | xcpretty

而不是

进程启动 -s -- -sdk iphone模拟器 -目的地 '名称=iPhone SE' 测试 || xcpretty

或者你可以走这条路

进程启动 -s -- -sdk iphone模拟器 -目标 'name=iPhone SE' 测试>输出.txt

xcpretty <输出.txt>

lldb "进程启动"中的 run-args 不支持管道或重定向运算符。 如果设置了 -c 选项,lldb 将让 shell 对参数进行 shell 扩展。 但这就是与 lldb 支持的 shell 的所有交互。

如果需要调试在执行链中运行的内容,则必须手动启动进程链,并在事后附加到链中的进程。 执行此操作的方法是在启动进程之前在 lldb 中启动附加,并使用-w选项process attach告诉 lldb 在进程启动后附加到进程。 然后开始该过程。 除非你的系统负载很重,否则lldb通常会在启动的早期捕获进程,因此对于大多数调试任务,您不会错过您真正关心的代码。

相关内容

  • 没有找到相关文章

最新更新