首页
社区
课程
招聘
[求助]debugserver 调试出错
发表于: 2015-8-24 13:43 12079

[求助]debugserver 调试出错

2015-8-24 13:43
12079
输入命令:/var/mobile/Containers/Bundle/Application/5E1D2837-0722-422D-B752-C051C3C32D91/BiLin.app/BiLin

出现问题:
 for armv7.
error: failed to launch process ./debugserver: failed to get the task for process 11992
Exiting.

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 139
活跃值: (1175)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
自己解决了问题, 主要是没有给gdbserver 签名造成的。

参考链接:http://iphonedevwiki.net/index.php/Debugserver

解决方案1:
将以下代码保存为ent.xml
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>com.apple.springboard.debugapplications</key>
	<true/>
	<key>get-task-allow</key>
	<true/>
	<key>task_for_pid-allow</key>
	<true/>
	<key>run-unsigned-code</key>
	<true/>
</dict>
</plist>


然后用ldid 签名,前提是你要把ldid装在ios上,我相信大家这个环境肯定已经搭好了
//注意这里的Sent.xml并不是一个文件, -S是一个参数后面的ent.xml是文件
ldid -Sent.xml debugserver


如果方案1不通过就执行方案2

方案2:(方案2的前提是你需要一台苹果电脑哦, 我是向公司借的。
将以下代码保存为entitlements.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/ PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>com.apple.springboard.debugapplications</key>
	<true/>
	<key>run-unsigned-code</key>
	<true/>
	<key>get-task-allow</key>
	<true/>
	<key>task_for_pid-allow</key>
	<true/>
</dict> 
</plist>


如何把ios里面的文件拷贝到苹果电脑里?
用  scp root@远程ip:/目录/fuck.exe ./本地目录/fuck.exe

同理 将苹果电脑程序拷贝到ios里面
用 scp ./本地目录/fuck.exe root@远程ip:/目录/fuck.exe


然后用苹果机里面的codesign命令
codesign -s - --entitlements entitlements.plist -f debugserver


经过上面的步骤我的已经可以用了,如果还是不行的小伙伴 只能说。。。。好好积德把
2015-8-24 15:29
0
雪    币: 163
活跃值: (1623)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
3
正是签名的原因
2015-8-24 19:55
0
雪    币: 215
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
表示使用方案2,但上传到原目录/Developer/usr/bin/失败,整个目录都提示没权限怎么破?remount也失败。
如果上到其他目录,debugserver无法执行,非法程序了(缺文件)。
2015-12-29 18:11
0
雪    币: 6
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
传到/usr/bin/,不是/Developer/usr/bin/
2015-12-29 18:49
0
雪    币: 215
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
问题搞清楚了,不是缺文件。
签名指令的问题,
加--entitlements 后是,进程不带指令运行是Killed 9
去掉的话,就是,带调试指令运行是

debugserver-310.2 for armv7.
error: failed to launch process ./debugserver: Security
Exiting.

---------
直接执行/Developer/usr/bin/debugserver的话就是楼主的 failed to get the task for process
2015-12-29 19:43
0
雪    币: 215
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
用ldid也一样不行

iPhone:/usr/bin root# rm debugserver
iPhone:/usr/bin root# cp /Developer/usr/bin/debugserver /usr/bin/debugserver
iPhone:/usr/bin root# chmod 777 debugserver
iPhone:/usr/bin root# ./debugserver port:2008 /Applications/softwind.app/_softwind
debugserver-310.2 for armv7.
error: failed to launch process ./debugserver: failed to get the task for process 2078
Exiting.

#楼主的现象。
iPhone:/usr/bin root# ldid -Sent.xml debugserver
iPhone:/usr/bin root# ./debugserver port:2008 /Applications/softwind.app/_softwind
Killed: 9

====
另外还有种情况,程序能正常启动(签名正确),会出现
debugserver-310.2 for armv7.
error: failed to launch process debugserver: unknown error.
Exiting
2015-12-29 19:52
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
localhost:~ pzwwei$ codesign -s - --entitlements entitilement.plist -f debugserver debugserver: replacing existing signature debugserver: cannot find code object on disk 提示找不到code object是什么原因?
2017-3-14 01:12
0
游客
登录 | 注册 方可回帖
返回
//