Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode/lldb:在进入程序时停止没有符号的应用程序_Xcode_Lldb - Fatal编程技术网

Xcode/lldb:在进入程序时停止没有符号的应用程序

Xcode/lldb:在进入程序时停止没有符号的应用程序,xcode,lldb,Xcode,Lldb,在lldb命令行中,我可以使用--stop at entry选项停止程序(没有调试符号)的执行,方法是写入: (lldb) target create /bin/ls Current executable set to '/bin/ls' (x86_64). (lldb) process launch --stop-at-entry Process 22250 launched: '/bin/ls' (x86_64) Process 22250 stopped * thread #1: tid

在lldb命令行中,我可以使用--stop at entry选项停止程序(没有调试符号)的执行,方法是写入:

(lldb) target create /bin/ls
Current executable set to '/bin/ls' (x86_64).
(lldb) process launch --stop-at-entry
Process 22250 launched: '/bin/ls' (x86_64)
Process 22250 stopped
* thread #1: tid = 0xc46fa, 0x00007fff5fc01028 dyld`_dyld_start, stop reason = signal SIGSTOP
frame #0: 0x00007fff5fc01028 dyld`_dyld_start
dyld`_dyld_start:
-> 0x7fff5fc01028:  popq   %rdi
...
然而,我更愿意在lldb的Xcode(5)IDE中工作。在那里也可能发生同样的事情吗?我可以通过“调试->附加到进程->按进程标识符或名称”菜单成功附加到进程。如果您在那里输入一个应用程序名称,lldb将在该进程启动后立即接管该进程。但是,我看不到在程序启动时停止执行的方法,也就是说,相当于--start at entry。我也看不到在IDE的lldb窗口中输入相应命令的方法,因为应用程序尚未启动


在IDE中是否可以这样做?

不确定您正在尝试做什么,但lldb确实有一个在共享库加载时停止的设置:

(lldb) settings set target.process.stop-on-sharedlibrary-events 1

这将导致lldb正在调试的程序在加载新的共享库时停止。在第一次加载共享库之前,这个过程不会进行太多操作,因此这将在很早的时候捕获它。

您可以在~/.lldbinit Xcode文件中放置特定于lldb Xcode的设置命令,它们将只应用于从Xcode调用的lldb实例

这有助于保持单独的设置

发件人:

档案

lldb将同时从三个文件中读取设置/别名/命令 启动,如果存在的话

首先,它将读取~/.lldbinit调试器命令文件。如果你是 使用lldb命令行界面,这是~/.lldbinit lldb。如果 您正在GUI调试器(如Xcode)中使用lldb这将是 ~/.lldbinit Xcode


完全可行,至少在Xcode 7下


在现有的Xcode项目中,创建一个新模式。在模式设置中的“运行”下,指定“其他可执行文件”并选择所需的文件。在模式属性中,您还可以指定命令行、工作目录、自定义环境等。

不,我认为这是不可能的,因为Xcode实际上是用于调试您正在开发的应用程序的,调试符号很容易应用。好的,这很有意义。谢谢谢谢,这很有帮助!在这么早的阶段停止对于在以后的函数上设置断点很有用。如果设置了断点,如何删除此设置?每次都会停止,但不运行。只需将其设置为1:0并运行命令即可。解决了这个问题。