将XCode用于Perl脚本

时间:2015-06-19 15:33:42

标签: macos terminal xcode bash perl

实现将终端脚本转换为Perl并最终在Xcode中使用它们的最小脚本

use strict;
use warnings;

## Conversion of one-liner into Script by perl -MO=Deparse
# Original command: perl -ne 'print unless /[0-5]/' input.txt > output.txt
# I got the following command from: perl -MO=Deparse -ne 'print unless /[0-5]/'
# but also the notice: -e syntax OK
while (defined($_ = <ARGV>)) {
    print $_ unless
    /[0-5]/;
} input.txt > output.txt

我按照此answer中的说明设置有关在Xcode中运行Perl的设置。 但是,我不确定我在参数中应该有什么。 我什么都没设置。 我对这句话很困惑:

  

转到Arguments选项卡并确保您的主脚本是第一个   论点。根据需要添加更多参数和环境变量。

我运行脚本并在OSX Yosemite 10.10.3中获取以下0_dyld_start消息,类似here但在Python中

dyld`_dyld_start:
->  0x7fff5fc01000 <+0>:   popq   %rdi
    0x7fff5fc01001 <+1>:   pushq  $0x0
    0x7fff5fc01003 <+3>:   movq   %rsp, %rbp
    0x7fff5fc01006 <+6>:   andq   $-0x10, %rsp
    0x7fff5fc0100a <+10>:  subq   $0x10, %rsp
    0x7fff5fc0100e <+14>:  movl   0x8(%rbp), %esi
    0x7fff5fc01011 <+17>:  leaq   0x10(%rbp), %rdx
    0x7fff5fc01015 <+21>:  movq   0x37aec(%rip), %r8        ; _dyld_start_static
    0x7fff5fc0101c <+28>:  leaq   -0x23(%rip), %rcx         ; <+0>
    0x7fff5fc01023 <+35>:  subq   %r8, %rcx
    0x7fff5fc01026 <+38>:  leaq   -0x102d(%rip), %r8
    0x7fff5fc0102d <+45>:  leaq   -0x8(%rbp), %r9
    0x7fff5fc01031 <+49>:  callq  0x7fff5fc01076            ; dyldbootstrap::start(macho_header const*, int, char const**, long, macho_header const*, unsigned long*)
    0x7fff5fc01036 <+54>:  movq   -0x8(%rbp), %rdi
    0x7fff5fc0103a <+58>:  cmpq   $0x0, %rdi
    0x7fff5fc0103e <+62>:  jne    0x7fff5fc01050            ; <+80>
    0x7fff5fc01040 <+64>:  movq   %rbp, %rsp
    0x7fff5fc01043 <+67>:  addq   $0x8, %rsp
    0x7fff5fc01047 <+71>:  movq   $0x0, %rbp
    0x7fff5fc0104e <+78>:  jmpq   *%rax
    0x7fff5fc01050 <+80>:  addq   $0x10, %rsp
    0x7fff5fc01054 <+84>:  pushq  %rdi
    0x7fff5fc01055 <+85>:  movq   0x8(%rbp), %rdi
    0x7fff5fc01059 <+89>:  leaq   0x10(%rbp), %rsi
    0x7fff5fc0105d <+93>:  leaq   0x8(%rsi,%rdi,8), %rdx
    0x7fff5fc01062 <+98>:  movq   %rdx, %rcx
    0x7fff5fc01065 <+101>: movq   (%rcx), %r8
    0x7fff5fc01068 <+104>: addq   $0x8, %rcx
    0x7fff5fc0106c <+108>: testq  %r8, %r8
    0x7fff5fc0106f <+111>: jne    0x7fff5fc01065            ; <+101>
    0x7fff5fc01071 <+113>: jmpq   *%rax
    0x7fff5fc01073 <+115>: nop    

在Info中,我按上述主题中的描述设置了/usr/bin/perl。 在产品中&gt;方案,我把禁用XPC ServicesView Debugging(我认为后者是OSX工具调试所以禁用它)。

如何在XCode中为Perl设置正确的设置? 最可能的错误在于设置参数。

1 个答案:

答案 0 :(得分:1)

尝试删除“v”:

产品 - &gt;方案 - &gt; EditScheme - &gt;信息 - &gt;然后从'Debug Executable'框中删除'V'。