如何将stdin从文件传输到Xcode 4+中的可执行文件?

sta*_*sta 21 macos mpi xcode4

我有一个mpi程序,并设法通过Xcode 4编译和链接它.现在我想使用Xcode 4进行调试.

如何从文件中将标准输入传递给程序?

在终端我会输入

mpirun -np 2 program < input.txt
Run Code Online (Sandbox Code Playgroud)

我能够在Scheme编辑器的"Info"面板中运行定义自定义可执行文件(mpirun)的程序,我也知道我可以在"Arguments"面板中传递参数.但是Xcode 4似乎不接受"<input.txt"作为参数,即使我选中"使用自定义工作目录"+在"选项"面板中添加输入脚本的正确目录.

这篇文章说可以使用"<input.txt"作为参数,但我猜这在Xcode 2或Xcode 3中有效,但它似乎不再适用于Xcode 4.

use*_*021 26

在Xcode 4.5.1中:

  1. 打开方案编辑器(产品菜单 - >编辑方案......)
  2. 选择"运行调试"方案
  3. 在"信息"标签面板中,将"启动"单选按钮选项从"自动"更改为"等待MyApp.app启动"
  4. 关闭方案编辑器
  5. 按"运行"按钮构建并运行目标.(工具栏中的Xcode状态窗口将显示"等待MyApp启动")
  6. 启动终端并cd到您构建的应用程序的文件夹.(它将类似/ Users/user/Library/Developer/Xcode/DerivedData/MyApp-dmzfrqdevydjuqbexdivolfeujsj/Build/Products/Debug /)
  7. 在任何您想要的标准输入中启动您的应用程序管道:

    echo mydata | ./MyApp.app/Contents/MacOs/MyApp
    
    Run Code Online (Sandbox Code Playgroud)
  8. 切换回Xcode,调试器将检测到您的应用程序的启动并附加到它.