首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何告诉Xcode在进程启动时立即将调试器附加到进程?

在Xcode中,可以通过以下步骤告诉它在进程启动时立即将调试器附加到进程:

  1. 打开Xcode,并打开你的项目。
  2. 在Xcode的菜单栏中,选择"Product"(产品)。
  3. 在"Product"下拉菜单中,选择"Scheme"(方案)。
  4. 在"Scheme"下拉菜单中,选择"Edit Scheme"(编辑方案)。
  5. 在弹出的窗口中,选择"Run"(运行)选项卡。
  6. 在左侧的列表中,选择"Info"(信息)选项卡。
  7. 在右侧的"Launch"(启动)部分,勾选"Wait for executable to be launched"(等待可执行文件启动)选项。
  8. 在"Debugger"(调试器)下拉菜单中,选择你想要使用的调试器,例如"LLDB"。
  9. 关闭"Edit Scheme"窗口。

这样,当你运行你的项目时,Xcode将会在进程启动时立即将调试器附加到进程,以便你可以进行调试。

请注意,这个答案是基于Xcode的,如果你使用其他开发工具或平台,步骤可能会有所不同。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

IDA + GDBServer实现iPhone程序远程调试

这是因为xcode进行程序调试的时候会将所需要的文件拷贝到Develop目录下,这样的话不论gdbserver在哪个目录下程序都是可以正常执行的。...图16 上面的是直接attach的方法,这种方法能看到的只有内存数据,所以实际的调试中并不是最好的方法。另外一种方式是直接用ida载入文件之后采用链接远程调试器的方式。...设置完成之后就可以启动调试器了,此时会提示已经有远程进程在被调试,是否附加到,如图18. 图18 点击yes之后就可以进行调试了,如果附加成功将会弹出提示信息。...也是我现在没有处理掉的: 静态分析的时候设置的断点会变为无效,如图20所示; 图20 一旦将进程挂起之后重启启动进程已经卡死了,没有任何的响应。...由于上面的两个问题导致现在ida虽然可以附加到进程或者启动独立的进程进行调试,但是实际的效果并不理想。明显是一锤子买卖,一旦暂停就完全死翘翘了,这也就是文章开始处提到的那个问题。

1.7K30

如何对iOS App进行打补丁和重新签名

这要求我们了解很多概念——不同类型的证书、BundleID、应用程序ID、团队标识符,以及如何使用苹果的构建工具将它们绑定在一起。...我们的目标是使无法破解的应用程序启动时加载FridaGadget.dylib,这样我们便可使用Frida来插装它。...确保你创建的是开发配置文件而不是分发配置文件,因为稍后需要将调试器加到应用程序。 在下面的shell命令中,作者使用的是与其公司的开发团队相关联的自己的签名身份。...“get-task-allow”键也很重要——当设置为“true”时,允许其他进程(比如调试服务器)附加到应用程序(因此,分发配置文件中应设置为“false”)。...其他准备 为了使我们的应用程序启动时加载一个附加的库,我们需要通过一定方法将额外的加载命令插入到主可执行文件的Mach-O头中。我们使用optool来自动化这个过程。 ?

2.3K80
  • 扒虫篇-Debug几个实用的方法

    三.LLDB命令 LLDB的Xcode默认的调试器, 我们通过执行LLDB命令使调试过程更加的灵活。并且可以通过指令立刻看到一些我们需要修改完代码再次运行才能看到的效果或者结果,超级实用。...但是,如果崩溃不在当前调用栈,系统就仅仅只能把崩溃地址告诉我们,而没办法定位到具体代码,这样我们也没法去修改错误。...它是一种异步的通知机制,用来提醒进程一个事件已经发生。当一个信号发送给一个进程,操作系统中断了进程正常的控制流程,此时,任何非原子操作都将被中断。...Xcode分析 当你点击一个问题,Xcode的会指向问题代码块,这些正是你要的注意的地方。注意,Xcode仅仅是建议。某些情况下,这是可能的,问题是不相关的,不固定。...FLEX以第三方库的形式集成应用中,使用时将类库加到工程中,然后 通过调用[[FLEXManager sharedManager] showExplorer];就可显示出用于调试的工具栏进行调试。

    1.5K10

    Cheat Engine 官方教程汉化

    第一步:欢迎 当教程启动时,您应该会看到类似的东西,您只需阅读帮助文本后单击“下一步”按钮即可。 在后面的步骤中保存密码,以防崩溃(从注入中)并在以后重新启动。...运用CE如何加到进程 1.打开要附加到进程/游戏(如果尚未打开)。 2.打开作弊引擎(如果尚未打开)。...您应该会在窗体顶部看到进程名称。您现在已附加到进程。 第二步:精确值扫描 对于步骤2,您将看到类似这样的东西。 我们需要找到的是健康,这里是一个整数。...因此,首先找到该值,然后将其添加到地址列表中。此时继续保存表和密码,以防调试器设置不正确。 地址列表中拥有地址后,右键单击它,然后选择找出访问此地址的内容。...因此,首先找到该值,然后将其添加到地址列表中。 地址列表中拥有地址后,右键单击它,然后选择找出访问此地址的内容。 然后单击更改值按钮,让进程访问该地址。

    2.6K10

    提取Chrome中Cookie工具分享

    它还已作为模块添加到PoshC2中,并设置了自动加载和别名功能,因此可以使用来简单地运行它sharpcookiemonster。...还值得注意的是,您不需要任何特权访问权限即可执行此操作,只需存储会话的计算机上该用户上下文中执行代码即可。 它是如何工作的? 在后台,这是通过首先启动Google Chrome来实现的。...然后,我们启动该可执行文件,设置适当的标志并将该进程的输出重定向到我们的stdout,以便即使C2通道上运行它时也可以查看它是否出错。...启动 启动后,我们将检查进程是否正在运行,并等待调试器端口打开。 然后,我们可以该端口上与API交互以获取websocket调试器URL。...所有这些操作都是受害人的计算机上本地完成的,因为该二进制文件正在运行,而无界面的Chrome进程正在运行。 ?

    1.8K20

    Swift中防止ptrace依附

    这个时候调试器就起了大作用了,无论GDB还是LLVM,都是通用的工具。在这里我们要做一点防范措施,防止别人能够轻易的窥视应用的内部,这里主要是要防止ptrace【注:1】。...当然这样做也只是稍微提高了一点点门槛而已,对于高手来说这样的手段简直是小菜一碟,你可以看看这里如何调试防止ptrace依附的App。...然后XCode会自动给你生成一个{projectName}-Bridging-Header.h,再将函数的定义写在里面。接下来你就可以main.swift里面加上disable_gdb()了。...简单来说,调试器能够调试的原理,就是调试器的工作进程成为了你应用的跟踪进程,每当有中断发生的时候,内核会先去检测你当前的进程有没有被跟踪,如果有就先让你的跟踪进程做处理,从而达到调试的目的。...防止依附就是要让你的app不被调试器跟踪。

    1.2K30

    你不得不知道的Visual Studio 2012(2)- 全新调试功能

    模拟事件 在此过程中,我们遇到的第一个挑战是如何来模拟你的应用程序现实世界使用中会遇到的事件,以便你可以调试这些有趣的情况。如何模拟应用程序被激活、被暂停以及被终止?...应用程序激活 调试器中,我们可以模拟应用程序激活。 当你开始 Visual Studio中调试Metro样式应用程序时,默认情况下,应用程序自动被激活。(这与磁片激活非常类似。)...你还会注意到"调试位置"工具栏上显示了你的项目名称,而不是显示正在运行的进程。 ? 这表明由该项目部署的应用程序软件包是调试模式下,一旦该软件包的应用程序被激活了,调试器就会附加到进程中。 ?...请注意,现在"调试位置"工具栏显示正在运行的实际进程(而不是之前的项目名称)。 ? 调试后台任务 调试器可以模拟另一个 Windows 8 行为,这就是后台任务。...当你的软件调试模式下时,一旦开始之后,调试器会自动附加到承载进程中。 假设,你可以某一时间调试来自多个软件包的应用程序,我们需要在一个控件中展示这些,而且这个控件能够基于任务的数量而扩展。

    1.3K70

    Swift进阶-LLDB调试

    程序猿最好的利器就是开发工具,iOS开发者最基本,最关键的一点就是熟练使用Xcode,而LLDB则是Xcode中至关重要的一环。...target 调试器对象上操作的命令 thread 中的一个或多个线程操作的命令目前的过程 type 类型系统上操作的命令 version 显示LLDB调试器版本 watchpoint 操作上观察点的命令....当前命令缩写(类型“帮助命令别名”以获取更多信息) add-dsym 将调试符号文件添加到目标当前模块中的一个通过指定调试符号文件的路径,或使用选项来指定下载符号的模块 attach 通过ID或名称附加到进程...显示任何返回值与LLDB的默认格式 q 退出LLDB调试器 r 调试器中启动可执行文件 rbreak 可执行文件中设置断点或断点集。 repl 评估当前线程上的表达式。...显示任何返回值与LLDB的默认格式 run 调试器中启动可执行文件 s 源级单步,单步调用。

    85730

    Android 简谈安全那点事

    然后进行base64位编码,因为AES加密完成之后是二进制流,转化成字符串的时候可能会因为空格造成数据截断,所以要进行base64编码, 然后上传到服务器, 这个时候服务器是不知道这个随机密钥的,我们就需要告诉他...该方法的准确度依赖于白名单库的大小,并且需要网络连接,但是现在我了解到一种新型的防纂改、重打包的方法, 那就是,我们的签名信息是唯一的,生成的hashcode值也肯定是唯一的,我们通过jni编写so动态库,软件启动时去动态的判断...反调试 功能分为两个步骤, 首先检测当前app是否正在被调试, 如果app正在被调试的话,则返回调试器所在进程进程名字。...(与保护app不被杀死原理一致(5.0 以后部分手机实现双杀,例如小米)),我们知道一个进程只允许有一个调试器, 所以进程起来的同时, 会fork一个daemon(守护进程)并跟踪被保护的app进程,...守护进程会实现拦截调试器的入口,保证其他程序无法调试当前app,守护进程一旦激活,就会一直存在,直到当前应用退出, 如果强行关闭守护进程,当前app也会随之关闭, 这里要注意信号的处理。

    23610

    详解反调试技术

    它的第一个参数是进程句柄,第二个参数告诉我们它需要提取进程信息的类型。为第二个参数指定特定值并调用该函数,相关信息就会设置到第三个参数。...恶意代码可以使用异常来破坏或者探测调试器调试器捕获异常后,并不会立即将处理权返回被调试进程处理,大多数利用异常的反调试技术往往据此来检测调试器。...第一个堆头部有一个属性字段,它告诉内核这个堆是否调试器中创建。这些属性叫作ForceFlags和Flags。...2.3检测NTGlobalFlag 由于调试器中启动进程与正常模式下启动进程有些不同,所以它们创建内存堆的方式也不同。系统使用PEB结构偏移量0x68处的一个未公开位置,来决定如何创建堆结构。...SeDebugPrivilege权限的,但是当进程通过调试器启动时,由于调试器本身启动了SeDebugPrivilege权限,当调试进程被加载时SeDebugPrivilege也就被继承了。

    2.2K40

    XcodeXcode 9 的全新功能您会喜欢的工具。内建 Interface BuilderXcode IDE

    行为 告诉 Xcode 对事件(比如启动调试会话或构建时遇到错误)执行什么操作。结合标签,您可以为自己的编辑、设计、构建或调试任务创建自定义工作环境。...图形调试器 Xcode 编辑器内直接调试 app。将鼠标悬停在任何变量上可深入分析其内容,使用 Quick Look 可查看其中包含的数据,或者右键点按将变量添加到监测列表中。...Xcode 显示着色器的信息,还可以直观地构建帧 Xcode 调试器中组合的方式。...Instruments 记录数据 告诉 Instruments 分析哪个 app,收集哪类数据,然后只需点击红色大按钮,数据就会被收集并存储以待进一步分析。...系统跟踪 仅占用非常少的资源,Instruments 即可录制有关系统中所有进程的信息,从而显示进程交互引发的性能瓶颈。

    8.3K30

    编程技巧 --- VS远程调试

    具体如何设置共享文件夹就不在这里赘述了,我这里使用 MobaXterm 远程过去后自动添加了C盘的共享,可以直接使用。...Visual Studio 的附加进程功能允许开发人员将调试器加到运行中的外部进程,以便在不中断程序执行的情况下对其进行调试。...切换到开发环境的电脑使用 Visula Studio 进行附加进程「调试->附加到进程」,打开附加到进程界面,需要做如下四点设置: 连接类型选择-远程(windows - 无身份验证)。...连接目标选择远程的目标计算机或服务器IP地址+远程调试器设置的端口号,默认为4026。 选择你要调试的目标进程。 勾选显示所有用户的进程,防止找不到目标进程。...调试时,Visual Studio 调试器使用 .pdb 文件来确定两项关键信息: 要在 Visual Studio IDE 中显示的源文件名和行号。 应用中停止的断点位置。

    13610

    Visual Studio 调试系列12 远程调试部署远程计算机IIS上的ASP.NET应用程序

    下面介绍如何设置和配置Visual Studio ASP.NET MVC 4.5.2应用程序,将其部署到IIS,以及如何从Visual Studio附加远程调试器。... Visual Studio 中,单击调试 > 附加到进程(Ctrl + Alt + P)。... Visual Studio 2017 和更高版本中,您可以重新附加到您以前使用附加到的同一个进程调试 > 重新附加到进程... (Shift + Alt + P)。...13 故障排除:Windows Server 上打开所需的端口 大多数设置中,通过安装ASP.NET和远程调试器来打开所需的端口。但是,您可能需要验证端口是否已打开。...UDP 3702 - (可选)Visual Studio中附加到远程调试器时,发现端口使您可以使用“ 查找”按钮。

    4K10

    原来... 反调试技术揭秘(转)

    调试一些病毒程序的时候,可能会碰到一些反调试技术,也就是说,被调试的程序可以检测到自己是否被调试器附加了,如果探知自己正在被调试,肯定是有人试图反汇编啦之类的方法破0解自己。...为了了解如何破0解反调试技术,首先我们来看看反调试技术。...二、查询进程PEB的BeingDebugged标志位 当进程调试器所附加的时候,操作系统会自动设置这个标志位,因此程序里定期查询这个标志位就可以了,例子如下: bool...= 0; } 四、查询进程堆的一些标志位 这个方法是第三个方法的变种,只要进程被调试,进程堆上分配的内存,分配的堆的头信息里,ForceFlags这个标志位会被修改...然而,如果进程正在被调试的话,这个LastError值会被修改,因此如果调试器绕过了第七步里讲的反调试技术的话,我们还可以通过验证LastError值是不是被修改过来检测调试器的存在,示例代码:

    86820

    如何调试Android Framework?

    dalvik虚拟机内部有一个专门的jdwp线程,Android系统的adbd进程通过socket与各个虚拟机的jdwp线程进行通信,外部调试器通过adb工具与adbd通信进而完成与jdwp的通信。...如何在合适的进程下断点?...上文我们简要讲述了调试器的工作原理,我们知道每一个虚拟机有一个jdwp线程,如果这个线程拒绝连接到调试器,你也就没办法对这个进程进行调试了。...= 0) { argsForZygote.add("--enable-debugger"); } 也就是说,一个进程是否可以调试是由进程启动时候的参数决定的;普通的App进程如果是debug...OK,到这里;应该学会如何在正确的位置打断点了:正确的进程,正确的位置。接下来,要完成调试,还需要一些技巧。 如何跟踪代码?

    2.7K22

    反调试技术常用API,用来对付检测od和自动退出程序

    调试一些病毒程序的时候,可能会碰到一些反调试技术,也就是说,被调试的程序可以检测到自己是否被调试器附加了,如果探知自己正在被调试,肯定是有人试图反汇编啦之类的方法破解自己。...为了了解如何破解反调试技术,首先我们来看看反调试技术。...false就可以了,网上有很多做hook API工作的工具,也有很多工具源代码是开放的,所以这里就不细谈了 二、查询进程PEB的BeingDebugged标志位 当进程调试器所附加的时候,操作系统会自动设置这个标志位...= 0 } 四、查询进程堆的一些标志位 这个方法是第三个方法的变种,只要进程被调试,进程堆上分配的内存,分配的堆的头信息里,ForceFlags这个标志位会被修改,因此可以通过判断这个标志位的方式来反调试...然而,如果进程正在被调试的话,这个LastError值会被修改,因此如果调试器绕过了第七步里讲的反调试技术的话,我们还可以通过验证LastError值是不是被修改过来检测调试器的存在,示例代码: bool

    70430
    领券