Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/36.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
GDB在iPhone操作系统应用程序发布后发布_Iphone_Xcode_Gdb - Fatal编程技术网

GDB在iPhone操作系统应用程序发布后发布

GDB在iPhone操作系统应用程序发布后发布,iphone,xcode,gdb,Iphone,Xcode,Gdb,现在发生在我身上最奇怪的事情:GDB似乎是在应用程序启动之后启动的 xcode终端窗口中的输出如下所示: [Session started at 2010-02-15 18:57:31 +0100.] 2010-02-15 18:57:35.822 CPPlayer[2890:207] CPLanguageManager.m:26 Initializing LanguageManager 2010-02-15 18:57:35.825 CPPlayer[2890:207] CPLanguageM

现在发生在我身上最奇怪的事情:GDB似乎是在应用程序启动之后启动的

xcode终端窗口中的输出如下所示:

[Session started at 2010-02-15 18:57:31 +0100.] 2010-02-15 18:57:35.822 CPPlayer[2890:207] CPLanguageManager.m:26 Initializing LanguageManager 2010-02-15 18:57:35.825 CPPlayer[2890:207] CPLanguageManager.m:51 Done initializing LanguageManager 2010-02-15 18:57:35.833 CPPlayer[2890:207] CPTicketProcessor.m:84 Loading tickets 2010-02-15 18:57:35.835 CPPlayer[2890:207] CPTicket.m:66 Initiating with path: /Users/nick/Library/Application Support/iPhone Simulator/User/Applications/F6F161E5-7765-4EC8-9F53-BABD664A6805/Documents/tickets/trip-language-arabic-ticket.plist [Session started at 2010-02-15 18:57:35 +0100.] GNU gdb 6.3.50-20050815 (Apple version gdb-967) (Tue Jul 14 02:11:58 UTC 2009) Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-apple-darwin".sharedlibrary apply-load-rules all Attaching to process 2890. kill quit The Debugger has exited with status 0.(gdb) [会议于2010-02-15 18:57:31+0100开始。] 2010-02-15 18:57:35.822 CPPlayer[2890:207]CPLanguageManager.m:26初始化LanguageManager 2010-02-15 18:57:35.825 CPPlayer[2890:207]CPLanguageManager.m:51初始化LanguageManager完成 2010-02-15 18:57:35.833 CPPlayer[2890:207]CPTicketProcessor.m:84正在加载票据 2010-02-15 18:57:35.835 CPPlayer[2890:207]CPTicket.m:66启动路径:/Users/nick/Library/Application Support/iPhone Simulator/User/Applications/F6F161E5-7765-4EC8-9F53-BABD664A6805/Documents/tickets/trip-language-arabic-ticket.plist [会议于2010-02-15 18:57:35+0100开始。] GNU gdb 6.3.50-20050815(苹果版gdb-967)(2009年7月14日星期二02:11:58 UTC) 版权所有2004免费软件基金会。 GDB是自由软件,受GNU通用公共许可证的保护,您是 欢迎在特定条件下更改和/或分发副本。 键入“显示复制”以查看条件。 GDB绝对没有保修。有关详细信息,请键入“显示保修”。 此GDB配置为“i386 apple darwin”。sharedlibrary应用所有加载规则 连接到进程2890。 杀死 退出 调试器已退出,状态为0。(gdb) 正如您所看到的,Xcode认为会话会启动两次,但我100%确信,这是一次“构建并运行”的结果,到目前为止我从未失败过

(我)/(Xcode)做错了什么

另外,我注意到在“可执行信息”屏幕的调试选项卡中有一个设置“在GDB启动后启动可执行文件”,但这是选中的(顺便说一下,没有更改任何内容,此行为突然启动)

PPS。 在从xcode中删除应用程序之前,先删除了iPhone模拟器,通常会给我一个“在交换机上重新终止…”现在它这样说(完整会话输出):

[会议于2010-02-15 19:17:54+0100开始。] 2010-02-15 19:17:59.180 CPPlayer[2963:207]CPLanguageManager.m:26初始化LanguageManager 2010-02-15 19:17:59.182 CPPlayer[2963:207]CPLanguageManager.m:51初始化LanguageManager完成 2010-02-15 19:17:59.184 CPPlayer[2963:207]CPTicketProcessor.m:84正在加载票据 2010-02-15 19:17:59.189 CPPlayer[2963:207]CPTicket.m:66启动路径:/Users/nick/Library/Application Support/iPhone Simulator/User/Applications/54C79C7B-5D77-4734-A1AF-E11FD92D4EF9/Documents/tickets/trip-language-arabic-ticket.plist [会议于2010-02-15 19:17:59+0100开始。] GNU gdb 6.3.50-20050815(苹果版gdb-967)(2009年7月14日星期二02:11:58 UTC) 版权所有2004免费软件基金会。 GDB是自由软件,受GNU通用公共许可证的保护,您是 欢迎在特定条件下更改和/或分发副本。 键入“显示复制”以查看条件。 GDB绝对没有保修。有关详细信息,请键入“显示保修”。 此GDB配置为“i386 apple darwin”。sharedlibrary应用所有加载规则 连接到进程2963。 杀死 终止目标时出错(无论如何终止):警告:函数“macosx_kill_subsier_safe”中“/SourceCache/gdb/gdb-967/src/gdb/macosx/macosx nat subsier.c”的第1987行出现错误:(操作系统/内核)故障(0x5x) 退出 调试器已退出,状态为0。(gdb)
这就是在设备和模拟器上调试iPhone应用程序的方式。请注意以下两部分:

2010-02-15 18:57:35.822 CPPlayer[2890:207] CPLanguageManager.m:26 Initializing LanguageManager
“2980”是正在运行的应用程序的进程ID(pid)

Attaching to process 2890.

这是gdb连接到已经启动的应用程序。

关键是Xcode非常明确地指出,在gdb连接到进程之前,应用程序不会启动。我不明白为什么这里不会发生这种事。通常情况下,在执行我编写的第一行代码之前,应用程序会加载、停止,GDB会连接,然后应用程序会继续。在这里,应用程序启动,GDB在应用程序执行一些代码后连接。几个月后。这种情况似乎很少发生,但有时gdb在执行一行之前不会连接。我肯定会的。我不知道如何确保在执行一行之前没有启动gdb。尽管如此,这个答案对我的问题仍然有效。谢谢
Attaching to process 2890.