isource_lldb 0.3.2 → 0.3.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/setup +349 -249
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d8f80de7a0d52b42510a7313f2c43d5981aa6cf4fae5c57ec345908d92f5493b
|
|
4
|
+
data.tar.gz: e88167669177090aa5d408bd28116e035c45ad097cbb56abb7bda888261d4daf
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ef499e4f36a3af3cdbbc31dbcfe8a19dbed011af25b9272ad154cfb80bbdad0dd90038a543f6a71165e4579acf35bc48b3aa754c04f6fbca3b4e7e88bd6f5036
|
|
7
|
+
data.tar.gz: 451a4fa849dbed5f0b093b47e5fd7c1295f4f4a06e930b2c7b72aedceeeb6d9f384d8f0cf314f925517da0d9ea5ec7579837097140909e5696641012b22ffbff
|
data/lib/setup
CHANGED
|
@@ -16,287 +16,387 @@ drrr_job_inis_dir =source_lldb_dir +"/drrr_job_inis"#line:19
|
|
|
16
16
|
drrr_job_inis_dir_modules =drrr_job_inis_dir +"/modules"#line:20
|
|
17
17
|
drrr_job_inis_addr ='ssh://git@gitlab.qiyi.domain:10022/qytools/drrr_job_inis.git'#line:21
|
|
18
18
|
project_info_cache =source_lldb_dir +"/project_info_cache.txt"#line:22
|
|
19
|
-
def lz_error (
|
|
20
|
-
print ("internal error code : "+str (
|
|
21
|
-
def lz_log (
|
|
19
|
+
def lz_error (O00OO0OO0O00OOOO0 ):#line:24
|
|
20
|
+
print ("internal error code : "+str (O00OO0OO0O00OOOO0 ))#line:25
|
|
21
|
+
def lz_log (O0O00000000O00O0O ):#line:27
|
|
22
22
|
pass #line:30
|
|
23
23
|
def manage_source_dir ():#line:33
|
|
24
|
-
|
|
25
|
-
if not
|
|
24
|
+
O00O0OOO00OO0O0O0 =os .path .exists (source_lldb_dir )#line:34
|
|
25
|
+
if not O00O0OOO00OO0O0O0 :#line:35
|
|
26
26
|
os .makedirs (source_lldb_dir )#line:36
|
|
27
27
|
os .makedirs (source_code_dir )#line:37
|
|
28
28
|
else :#line:38
|
|
29
|
-
|
|
30
|
-
if not
|
|
29
|
+
OO0OO0OOOOOO0O00O =os .path .exists (source_code_dir )#line:39
|
|
30
|
+
if not OO0OO0OOOOOO0O00O :#line:40
|
|
31
31
|
os .makedirs (source_code_dir )#line:41
|
|
32
32
|
def create_cache_file ():#line:44
|
|
33
|
-
|
|
34
|
-
if not
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
def write_cache_file (
|
|
38
|
-
if
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
def read_cache_file (
|
|
45
|
-
|
|
46
|
-
with open (project_info_cache ,'r',encoding ='utf-8')as
|
|
47
|
-
|
|
48
|
-
for
|
|
49
|
-
|
|
50
|
-
if
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
33
|
+
OO00OOOO0O0OO0OOO =os .path .exists (project_info_cache )#line:45
|
|
34
|
+
if not OO00OOOO0O0OO0OOO :#line:46
|
|
35
|
+
O0OOOO00O0000OO0O =open (project_info_cache ,'w')#line:47
|
|
36
|
+
O0OOOO00O0000OO0O .close ()#line:48
|
|
37
|
+
def write_cache_file (O00O0OO00O0OO000O ):#line:50
|
|
38
|
+
if O00O0OO00O0OO000O [0 ]!=None and O00O0OO00O0OO000O [1 ]!=None and O00O0OO00O0OO000O [2 ]!=None and O00O0OO00O0OO000O [3 ]!=None :#line:51
|
|
39
|
+
O0000O0OO00000O0O =list (O00O0OO00O0OO000O )#line:52
|
|
40
|
+
O0O0000OO0OO0O0O0 ='---'.join (O0000O0OO00000O0O )#line:53
|
|
41
|
+
OOO0O00O000O0000O =open (project_info_cache ,'a+')#line:54
|
|
42
|
+
OOO0O00O000O0000O .write (O0O0000OO0OO0O0O0 +"\n")#line:55
|
|
43
|
+
OOO0O00O000O0000O .close ()#line:56
|
|
44
|
+
def read_cache_file (O00OOO0000O0O00OO ):#line:58
|
|
45
|
+
OOO00O00OO0OO0000 =None #line:59
|
|
46
|
+
with open (project_info_cache ,'r',encoding ='utf-8')as O00000OO00OOOO000 :#line:60
|
|
47
|
+
O00O00OOOO0O00O0O =O00000OO00OOOO000 .readlines ()#line:61
|
|
48
|
+
for OO0OOOOO0OOOO0OO0 in range (0 ,len (O00O00OOOO0O00O0O )):#line:62
|
|
49
|
+
O0OOOO000OOO00O0O =re .search (O00OOO0000O0O00OO ,O00O00OOOO0O00O0O [OO0OOOOO0OOOO0OO0 ])#line:63
|
|
50
|
+
if O0OOOO000OOO00O0O !=None :#line:64
|
|
51
|
+
O0O0O00OO00O000OO =O00O00OOOO0O00O0O [OO0OOOOO0OOOO0OO0 ]#line:65
|
|
52
|
+
O0OOO0000OO00OOOO =O0O0O00OO00O000OO .split ('---')#line:66
|
|
53
|
+
OOO00O00OO0OO0000 =tuple (O0OOO0000OO00OOOO )#line:67
|
|
54
54
|
break #line:68
|
|
55
|
-
return
|
|
55
|
+
return OOO00O00OO0OO0000 #line:69
|
|
56
56
|
def manage_job_inis ():#line:72
|
|
57
|
-
|
|
58
|
-
if
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
if
|
|
57
|
+
OOOO0OOOOOOO0OOO0 =os .path .exists (drrr_job_inis_dir )#line:73
|
|
58
|
+
if OOOO0OOOOOOO0OOO0 ==True :#line:74
|
|
59
|
+
OO00OO000O0O00000 ="cd "+drrr_job_inis_dir +"; git pull"#line:75
|
|
60
|
+
O0OOO0O0OO0000OOO =os .popen (OO00OO000O0O00000 )#line:76
|
|
61
|
+
OO00OO00O00O00O0O =O0OOO0O0OO0000OOO .read ()#line:77
|
|
62
|
+
OOO0OOOO0OO0O0OO0 =re .search ("fatal",OO00OO00O00O00O0O )#line:78
|
|
63
|
+
if OOO0OOOO0OO0O0OO0 !=None :#line:79
|
|
64
64
|
lz_error (0 )#line:80
|
|
65
65
|
else :#line:81
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
if
|
|
66
|
+
OO0O0O00000O0O0OO ="git clone "+drrr_job_inis_addr +" "+drrr_job_inis_dir #line:82
|
|
67
|
+
O0OOO0O0OO0000OOO =os .popen (OO0O0O00000O0O0OO )#line:83
|
|
68
|
+
OO00OO00O00O00O0O =O0OOO0O0OO0000OOO .read ()#line:84
|
|
69
|
+
OOO0OOOO0OO0O0OO0 =re .search ("fatal",OO00OO00O00O00O0O )#line:85
|
|
70
|
+
if OOO0OOOO0OO0O0OO0 !=None :#line:86
|
|
71
71
|
lz_error (0 )#line:87
|
|
72
|
-
def get_debug_file_path (
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
if
|
|
80
|
-
return
|
|
81
|
-
|
|
82
|
-
if len (
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
if len (
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
if len (
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
return
|
|
92
|
-
def get_inis_info (
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
for
|
|
99
|
-
if
|
|
100
|
-
|
|
101
|
-
|
|
72
|
+
def get_debug_file_path (OO00OO0000OOO0OO0 ):#line:90
|
|
73
|
+
OO0OO0OO000O00OO0 =lldb .debugger .GetCommandInterpreter ()#line:91
|
|
74
|
+
O0OOOO0O0O0O0O000 =lldb .SBCommandReturnObject ()#line:92
|
|
75
|
+
OO0OO0OO000O00OO0 .HandleCommand ('image lookup -v --address '+OO00OO0000OOO0OO0 ,O0OOOO0O0O0O0O000 )#line:93
|
|
76
|
+
OO00O0O0OO00OOOO0 =O0OOOO0O0O0O0O000 .GetOutput ()#line:94
|
|
77
|
+
O00O0OOO00OOO0000 =""#line:96
|
|
78
|
+
O000OOO00OO0OO00O =re .search ('error',OO00O0O0OO00OOOO0 )#line:97
|
|
79
|
+
if O000OOO00OO0OO00O !=None :#line:98
|
|
80
|
+
return O00O0OOO00OOO0000 #line:99
|
|
81
|
+
O0OOOO00O0OOOO000 =OO00O0O0OO00OOOO0 .split ("\n")#line:102
|
|
82
|
+
if len (O0OOOO00O0OOOO000 )>3 :#line:103
|
|
83
|
+
OOOOO00O0O00OOOOO =O0OOOO00O0OOOO000 [3 ].strip ()#line:104
|
|
84
|
+
O00000OOOOO000000 =OOOOO00O0O00OOOOO .split (",")#line:106
|
|
85
|
+
if len (O00000OOOOO000000 )>1 :#line:107
|
|
86
|
+
O0O00O0OOOO000O00 =O00000OOOOO000000 [1 ].strip ()#line:108
|
|
87
|
+
OOO0OO0OO00O0000O =O0O00O0OOOO000O00 .split ("=")#line:110
|
|
88
|
+
if len (OOO0OO0OO00O0000O )>1 :#line:111
|
|
89
|
+
O000OO0O00O00OO0O =OOO0OO0OO00O0000O [1 ].strip ()#line:112
|
|
90
|
+
O00O0OOO00OOO0000 =O000OO0O00O00OO0O .replace ('\"','')#line:114
|
|
91
|
+
return O00O0OOO00OOO0000 #line:116
|
|
92
|
+
def get_inis_info (O0O0OO0O0O0OO0000 ):#line:119
|
|
93
|
+
O0OO00OO0OO0OOOO0 =None #line:121
|
|
94
|
+
O0O00OOOOOOO0OOOO =None #line:122
|
|
95
|
+
OO00O0O0OO0OOO0O0 =None #line:123
|
|
96
|
+
OOO00OOO000O0OOO0 =None #line:124
|
|
97
|
+
O0OO0OOO000O0O00O =O0O0OO0O0O0OO0000 .split ("/")#line:127
|
|
98
|
+
for OOO0OO000O00000O0 in range (0 ,len (O0OO0OOO000O0O00O )):#line:128
|
|
99
|
+
if O0OO0OOO000O0O00O [OOO0OO000O00000O0 ]=="MODULE_DIR":#line:129
|
|
100
|
+
O0O00OOOOOOO0OOOO =O0OO0OOO000O0O00O [OOO0OO000O00000O0 +1 ]#line:130
|
|
101
|
+
O0OO00OO0OO0OOOO0 =O0OO0OOO000O0O00O [OOO0OO000O00000O0 +1 ]#line:131
|
|
102
102
|
break #line:132
|
|
103
|
-
if
|
|
104
|
-
|
|
105
|
-
for
|
|
106
|
-
|
|
107
|
-
with open (
|
|
108
|
-
|
|
109
|
-
for
|
|
110
|
-
|
|
111
|
-
if
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
for
|
|
116
|
-
|
|
117
|
-
if len (
|
|
118
|
-
|
|
103
|
+
if O0O00OOOOOOO0OOOO !=None and len (O0O00OOOOOOO0OOOO )>0 :#line:139
|
|
104
|
+
OOOO00OOOOOO0O000 =os .listdir (drrr_job_inis_dir_modules )#line:140
|
|
105
|
+
for OOO0OO000O00000O0 in range (0 ,len (OOOO00OOOOOO0O000 )):#line:141
|
|
106
|
+
OO00000OOOOO00O00 =drrr_job_inis_dir_modules +"/"+OOOO00OOOOOO0O000 [OOO0OO000O00000O0 ]#line:142
|
|
107
|
+
with open (OO00000OOOOO00O00 ,'r',encoding ='utf-8')as OO000OO0OO0O0O0O0 :#line:144
|
|
108
|
+
OOO0O0O0OOO000000 =OO000OO0OO0O0O0O0 .readlines ()#line:145
|
|
109
|
+
for OOO0OO000O00000O0 in range (0 ,len (OOO0O0O0OOO000000 )):#line:146
|
|
110
|
+
O0OOOOOOO00OO000O =re .search (O0O00OOOOOOO0OOOO ,OOO0O0O0OOO000000 [OOO0OO000O00000O0 ])#line:147
|
|
111
|
+
if O0OOOOOOO00OO000O !=None :#line:148
|
|
112
|
+
OO00O0O0OO0OOO0O0 =OOOO00OOOOOO0O000 [OOO0OO000O00000O0 ]#line:149
|
|
113
|
+
OOO0O0000000O0OOO =OOO0OO000O00000O0 -5 if OOO0OO000O00000O0 >5 else 0 #line:150
|
|
114
|
+
OO0OO0O00OOO0O00O =OOO0OO000O00000O0 +5 if OOO0OO000O00000O0 +5 <len (OOO0O0O0OOO000000 )else len (OOO0O0O0OOO000000 )#line:151
|
|
115
|
+
for O000O00O0OOOOOOOO in range (OOO0O0000000O0OOO ,OO0OO0O00OOO0O00O ):#line:152
|
|
116
|
+
OOOO0O000000O00OO =re .findall ("ssh://git@gitlab.qiyi.domain:[^/]+?/.*?"+O0OO00OO0OO0OOOO0 +"*?[^0~9]?.git",OOO0O0O0OOO000000 [O000O00O0OOOOOOOO ])#line:153
|
|
117
|
+
if len (OOOO0O000000O00OO )>0 :#line:154
|
|
118
|
+
OOO00OOO000O0OOO0 =OOOO0O000000O00OO [0 ]#line:155
|
|
119
119
|
break #line:156
|
|
120
|
-
if
|
|
120
|
+
if OOO00OOO000O0OOO0 !=None :#line:157
|
|
121
121
|
break #line:158
|
|
122
|
-
if
|
|
122
|
+
if OOO00OOO000O0OOO0 !=None :#line:159
|
|
123
123
|
break #line:160
|
|
124
|
-
return (
|
|
125
|
-
def download_git_source_code (
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
if not
|
|
129
|
-
os .makedirs (
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
if
|
|
124
|
+
return (O0OO00OO0OO0OOOO0 ,OOO00OOO000O0OOO0 )#line:179
|
|
125
|
+
def download_git_source_code (OOOOO0O0O0O00O000 ,OOO0OO0OOOO0OOOOO ):#line:183
|
|
126
|
+
O0OOOO00O0OOOOOOO =source_code_dir +"/"+OOOOO0O0O0O00O000 #line:184
|
|
127
|
+
O0000O000O000O0OO =os .path .exists (O0OOOO00O0OOOOOOO )#line:185
|
|
128
|
+
if not O0000O000O000O0OO :#line:187
|
|
129
|
+
os .makedirs (O0OOOO00O0OOOOOOO )#line:188
|
|
130
|
+
OO00O0O0OO0OO0OOO ="git clone "+OOO0OO0OOOO0OOOOO +" "+O0OOOO00O0OOOOOOO #line:189
|
|
131
|
+
O0OOOOOO0OO00O0OO =os .popen (OO00O0O0OO0OO0OOO )#line:190
|
|
132
|
+
OOOO00O0O0OO0OOO0 =O0OOOOOO0OO00O0OO .read ()#line:191
|
|
133
|
+
OOOO00O00O00O00O0 =re .search ("fatal",OOOO00O0O0OO0OOO0 )#line:192
|
|
134
|
+
if OOOO00O00O00O00O0 !=None :#line:193
|
|
135
135
|
return ""#line:194
|
|
136
136
|
else :#line:195
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
if
|
|
137
|
+
O0O0O0O000O0000OO ="cd "+O0OOOO00O0OOOOOOO +"; git pull"#line:196
|
|
138
|
+
O0OOOOOO0OO00O0OO =os .popen (O0O0O0O000O0000OO )#line:197
|
|
139
|
+
OOOO00O0O0OO0OOO0 =O0OOOOOO0OO00O0OO .read ()#line:198
|
|
140
|
+
OOOO00O00O00O00O0 =re .search ("fatal",OOOO00O0O0OO0OOO0 )#line:199
|
|
141
|
+
if OOOO00O00O00O00O0 !=None :#line:200
|
|
142
142
|
return ""#line:201
|
|
143
|
-
return
|
|
143
|
+
return O0OOOO00O0OOOOOOO #line:203
|
|
144
144
|
def get_update_time ():#line:206
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
if
|
|
152
|
-
|
|
153
|
-
if
|
|
154
|
-
|
|
155
|
-
if
|
|
156
|
-
|
|
157
|
-
if
|
|
158
|
-
|
|
159
|
-
if
|
|
160
|
-
|
|
161
|
-
if
|
|
162
|
-
|
|
163
|
-
if
|
|
164
|
-
|
|
165
|
-
if
|
|
166
|
-
|
|
167
|
-
if
|
|
168
|
-
|
|
169
|
-
if
|
|
170
|
-
|
|
171
|
-
if
|
|
172
|
-
|
|
173
|
-
if
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
return ' '.join (
|
|
177
|
-
def change_source_code_commit (
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
if
|
|
145
|
+
OOO0OO00O0OO0OOO0 =user_dir +"/.cocoapods/repos/qiyi-podspecs/"#line:208
|
|
146
|
+
OOOO000000OO0OOOO =os .path .getmtime (OOO0OO00O0OO0OOO0 )#line:209
|
|
147
|
+
OO000OO00O0OOO0OO =time .localtime (OOOO000000OO0OOOO )#line:210
|
|
148
|
+
O000OOO000OOOOO00 =time .strftime ("%m %d %H:%M:%S %Y",OO000OO00O0OOO0OO )#line:213
|
|
149
|
+
OOO0O0O0O00O0O0OO =O000OOO000OOOOO00 .split (" ")#line:214
|
|
150
|
+
OO00000OO000OO0OO =OOO0O0O0O00O0O0OO [0 ]#line:215
|
|
151
|
+
if OO00000OO000OO0OO =='1':#line:217
|
|
152
|
+
OO00000OO000OO0OO ='Jan'#line:218
|
|
153
|
+
if OO00000OO000OO0OO =='2':#line:219
|
|
154
|
+
OO00000OO000OO0OO ='Feb'#line:220
|
|
155
|
+
if OO00000OO000OO0OO =='3':#line:221
|
|
156
|
+
OO00000OO000OO0OO ='Mar'#line:222
|
|
157
|
+
if OO00000OO000OO0OO =='4':#line:223
|
|
158
|
+
OO00000OO000OO0OO ='Apr'#line:224
|
|
159
|
+
if OO00000OO000OO0OO =='5':#line:225
|
|
160
|
+
OO00000OO000OO0OO ='May'#line:226
|
|
161
|
+
if OO00000OO000OO0OO =='6':#line:227
|
|
162
|
+
OO00000OO000OO0OO ='Jun'#line:228
|
|
163
|
+
if OO00000OO000OO0OO =='7':#line:229
|
|
164
|
+
OO00000OO000OO0OO ='Jul'#line:230
|
|
165
|
+
if OO00000OO000OO0OO =='8':#line:231
|
|
166
|
+
OO00000OO000OO0OO ='Aug'#line:232
|
|
167
|
+
if OO00000OO000OO0OO =='9':#line:233
|
|
168
|
+
OO00000OO000OO0OO ='Sep'#line:234
|
|
169
|
+
if OO00000OO000OO0OO =='10':#line:235
|
|
170
|
+
OO00000OO000OO0OO ='Oct'#line:236
|
|
171
|
+
if OO00000OO000OO0OO =='11':#line:237
|
|
172
|
+
OO00000OO000OO0OO ='Nov'#line:238
|
|
173
|
+
if OO00000OO000OO0OO =='12':#line:239
|
|
174
|
+
OO00000OO000OO0OO ='Dec'#line:240
|
|
175
|
+
OOO0O0O0O00O0O0OO [0 ]=OO00000OO000OO0OO #line:242
|
|
176
|
+
return ' '.join (OOO0O0O0O00O0O0OO )#line:244
|
|
177
|
+
def change_source_code_commit (OO000O0O00000O00O ):#line:247
|
|
178
|
+
OO00O0OOO000000O0 =get_update_time ()#line:250
|
|
179
|
+
OOOOO0O0O000000OO ="cd "+OO000O0O00000O00O +"; git rev-list -n 1 --before=\""+OO00O0OOO000000O0 +"\" master"#line:252
|
|
180
|
+
OOOO0000OO0O0OO00 =os .popen (OOOOO0O0O000000OO )#line:253
|
|
181
|
+
O00OOO00000OOOO0O =OOOO0000OO0O0OO00 .read ()#line:254
|
|
182
|
+
OOO0O0O0O000OOO00 =re .search ("fatal",O00OOO00000OOOO0O )#line:255
|
|
183
|
+
if OOO0O0O0O000OOO00 !=None :#line:256
|
|
184
184
|
return False #line:257
|
|
185
185
|
else :#line:258
|
|
186
186
|
return True #line:259
|
|
187
|
-
def checkError (
|
|
188
|
-
|
|
189
|
-
if
|
|
187
|
+
def checkError (OO0OOO0OOO00OO000 ,O0000O0O00OOO00OO ):#line:261
|
|
188
|
+
OO00OO0O0OO000O0O =re .search (O0000O0O00OOO00OO ,OO0OOO0OOO00OO000 )#line:262
|
|
189
|
+
if OO00OO0O0OO000O0O ==None :#line:263
|
|
190
190
|
return True #line:264
|
|
191
191
|
else :#line:265
|
|
192
192
|
return False #line:266
|
|
193
|
-
def map_source_code (
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
if
|
|
193
|
+
def map_source_code (OO0OOOO0OO0OOO000 ,O0O00O000OO000O00 ,OO0O00O000OO0OO0O ):#line:269
|
|
194
|
+
O000OOOO0O00O00OO =O0O00O000OO000O00 .split (OO0O00O000OO0OO0O )#line:270
|
|
195
|
+
OO00O0O0O0000OO0O =O000OOOO0O00O00OO [0 ]#line:271
|
|
196
|
+
OOO0O0OO0OOO000O0 =lldb .debugger .GetCommandInterpreter ()#line:272
|
|
197
|
+
OOOOO00OO000OO0O0 =lldb .SBCommandReturnObject ()#line:273
|
|
198
|
+
OOO0O0OO0OOO000O0 .HandleCommand ("settings append target.source-map "+OO00O0O0O0000OO0O +" "+OO0OOOO0OO0OOO000 ,OOOOO00OO000OO0O0 )#line:274
|
|
199
|
+
OO00000OOOOO000O0 =OOOOO00OO000OO0O0 .GetOutput ()#line:275
|
|
200
|
+
OOO0O00O0O00OO0O0 =re .search ('error',OO00000OOOOO000O0 )#line:276
|
|
201
|
+
if OOO0O00O0O00OO0O0 ==None :#line:277
|
|
202
202
|
return True #line:278
|
|
203
203
|
else :#line:279
|
|
204
204
|
return False #line:280
|
|
205
|
-
def thread_step_inst (
|
|
205
|
+
def thread_step_inst (O00OO00000O00OOO0 ):#line:283
|
|
206
206
|
pass #line:284
|
|
207
|
-
def adjustStackFrame (
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
if
|
|
207
|
+
def adjustStackFrame (O0OO000O00000O0OO ):#line:287
|
|
208
|
+
O0OO000O00000O0OO .SetAsync (True )#line:298
|
|
209
|
+
OO00O0OO0O0O0O0O0 =O0OO000O00000O0OO .GetSelectedTarget ().GetProcess ().GetSelectedThread ()#line:303
|
|
210
|
+
O000OO000O000O0OO =OO00O0OO0O0O0O0O0 .GetSelectedFrame ().GetFrameID ()#line:304
|
|
211
|
+
O00OO0O0OOOOOOO00 =lldb .debugger .GetCommandInterpreter ()#line:306
|
|
212
|
+
O00O0O00OO00O0OO0 =lldb .SBCommandReturnObject ()#line:307
|
|
213
|
+
O00OO0O0OOOOOOO00 .HandleCommand ("thread step-inst",O00O0O00OO00O0OO0 )#line:311
|
|
214
|
+
OO00OO0OOO0OOO000 =O00O0O00OO00O0OO0 .GetOutput ()#line:312
|
|
215
|
+
O0O0OO0OOOO0OO00O =re .search ('error',OO00OO0OOO0OOO000 )#line:313
|
|
216
|
+
if O0O0OO0OOOO0OO00O !=None :#line:314
|
|
217
217
|
return False #line:315
|
|
218
218
|
time .sleep (0.2 )#line:316
|
|
219
|
-
|
|
219
|
+
O00OO0O0OOOOOOO00 .HandleCommand ("thread step-over",O00O0O00OO00O0OO0 )#line:317
|
|
220
220
|
time .sleep (0.5 )#line:318
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
if
|
|
221
|
+
O00OO0O0OOOOOOO00 .HandleCommand ("frame select "+str (O000OO000O000O0OO ),O00O0O00OO00O0OO0 )#line:327
|
|
222
|
+
OO00OO0OOO0OOO000 =O00O0O00OO00O0OO0 .GetOutput ()#line:328
|
|
223
|
+
O0O0OO0OOOO0OO00O =re .search ('error',OO00OO0OOO0OOO000 )#line:329
|
|
224
|
+
if O0O0OO0OOOO0OO00O !=None :#line:331
|
|
225
225
|
return False #line:332
|
|
226
|
-
def clean (
|
|
227
|
-
|
|
228
|
-
for
|
|
229
|
-
|
|
230
|
-
if os .path .isfile (
|
|
231
|
-
os .remove (
|
|
232
|
-
elif os .path .isdir (
|
|
233
|
-
shutil .rmtree (
|
|
226
|
+
def clean (O000000OO0OOOOO00 ):#line:334
|
|
227
|
+
OO0OOOO0O0O0O0O00 =os .listdir (O000000OO0OOOOO00 )#line:335
|
|
228
|
+
for OOOOO0O0O00OOO0OO in OO0OOOO0O0O0O0O00 :#line:336
|
|
229
|
+
O0OOO00000O0O0O00 =os .path .join (O000000OO0OOOOO00 ,OOOOO0O0O00OOO0OO )#line:337
|
|
230
|
+
if os .path .isfile (O0OOO00000O0O0O00 ):#line:338
|
|
231
|
+
os .remove (O0OOO00000O0O0O00 )#line:339
|
|
232
|
+
elif os .path .isdir (O0OOO00000O0O0O00 ):#line:340
|
|
233
|
+
shutil .rmtree (O0OOO00000O0O0O00 )#line:341
|
|
234
234
|
pass #line:342
|
|
235
|
-
def processing (
|
|
236
|
-
sys .stdout .write (
|
|
237
|
-
sys .stdout .flush ()#line:
|
|
238
|
-
def start (
|
|
239
|
-
processing ("processing")#line:
|
|
240
|
-
processing (".")#line:
|
|
241
|
-
lz_log (1 )#line:
|
|
242
|
-
|
|
243
|
-
lz_log (
|
|
244
|
-
if
|
|
245
|
-
lz_error (1 )#line:
|
|
246
|
-
return #line:
|
|
247
|
-
processing (".")#line:
|
|
248
|
-
lz_log (2 )#line:
|
|
249
|
-
|
|
250
|
-
lz_log (
|
|
251
|
-
if
|
|
252
|
-
lz_error (2 )#line:
|
|
253
|
-
return #line:
|
|
254
|
-
processing (".")#line:
|
|
255
|
-
lz_log (3 )#line:
|
|
256
|
-
|
|
257
|
-
lz_log (
|
|
258
|
-
if
|
|
259
|
-
lz_error (3 )#line:
|
|
260
|
-
return #line:
|
|
261
|
-
processing (".")#line:
|
|
262
|
-
lz_log (4 )#line:
|
|
263
|
-
|
|
264
|
-
lz_log (
|
|
265
|
-
if
|
|
266
|
-
lz_error (4 )#line:
|
|
267
|
-
return #line:
|
|
268
|
-
processing (".")#line:
|
|
269
|
-
lz_log (5 )#line:
|
|
270
|
-
|
|
271
|
-
lz_log (
|
|
272
|
-
if
|
|
273
|
-
lz_error (5 )#line:
|
|
274
|
-
return #line:
|
|
275
|
-
print (".")#line:
|
|
276
|
-
lz_log (6 )#line:
|
|
277
|
-
|
|
278
|
-
lz_log (
|
|
279
|
-
if
|
|
280
|
-
lz_error (6 )#line:
|
|
281
|
-
return #line:
|
|
282
|
-
def
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
def
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
235
|
+
def processing (OO00OO00O0OO0OO0O ):#line:344
|
|
236
|
+
sys .stdout .write (OO00OO00O0OO0OO0O )#line:345
|
|
237
|
+
sys .stdout .flush ()#line:346
|
|
238
|
+
def start (O00O000000O00OO0O ,OO00OO0OOO00O0O0O ):#line:348
|
|
239
|
+
processing ("processing")#line:350
|
|
240
|
+
processing (".")#line:353
|
|
241
|
+
lz_log (1 )#line:356
|
|
242
|
+
O0000O0O0O00O0O0O =get_debug_file_path (OO00OO0OOO00O0O0O )#line:357
|
|
243
|
+
lz_log (O0000O0O0O00O0O0O )#line:358
|
|
244
|
+
if O0000O0O0O00O0O0O ==None or len (O0000O0O0O00O0O0O )==0 :#line:359
|
|
245
|
+
lz_error (1 )#line:360
|
|
246
|
+
return #line:361
|
|
247
|
+
processing (".")#line:366
|
|
248
|
+
lz_log (2 )#line:367
|
|
249
|
+
OO00O000O000OO00O =get_inis_info (O0000O0O0O00O0O0O )#line:368
|
|
250
|
+
lz_log (OO00O000O000OO00O )#line:369
|
|
251
|
+
if OO00O000O000OO00O [0 ]==None or OO00O000O000OO00O [1 ]==None :#line:370
|
|
252
|
+
lz_error (2 )#line:371
|
|
253
|
+
return #line:372
|
|
254
|
+
processing (".")#line:376
|
|
255
|
+
lz_log (3 )#line:377
|
|
256
|
+
O0O0OOO00OO00OO00 =download_git_source_code (OO00O000O000OO00O [0 ],OO00O000O000OO00O [1 ])#line:378
|
|
257
|
+
lz_log (O0O0OOO00OO00OO00 )#line:379
|
|
258
|
+
if O0O0OOO00OO00OO00 ==None or len (O0O0OOO00OO00OO00 )==0 :#line:380
|
|
259
|
+
lz_error (3 )#line:381
|
|
260
|
+
return #line:382
|
|
261
|
+
processing (".")#line:386
|
|
262
|
+
lz_log (4 )#line:387
|
|
263
|
+
OOO00O000000O0000 =change_source_code_commit (O0O0OOO00OO00OO00 )#line:388
|
|
264
|
+
lz_log (OOO00O000000O0000 )#line:389
|
|
265
|
+
if OOO00O000000O0000 ==False :#line:390
|
|
266
|
+
lz_error (4 )#line:391
|
|
267
|
+
return #line:392
|
|
268
|
+
processing (".")#line:396
|
|
269
|
+
lz_log (5 )#line:397
|
|
270
|
+
OOO00O000000O0000 =map_source_code (O0O0OOO00OO00OO00 ,O0000O0O0O00O0O0O ,OO00O000O000OO00O [0 ])#line:398
|
|
271
|
+
lz_log (OOO00O000000O0000 )#line:399
|
|
272
|
+
if OOO00O000000O0000 ==False :#line:400
|
|
273
|
+
lz_error (5 )#line:401
|
|
274
|
+
return #line:402
|
|
275
|
+
print (".")#line:406
|
|
276
|
+
lz_log (6 )#line:407
|
|
277
|
+
OOO00O000000O0000 =adjustStackFrame (O00O000000O00OO0O )#line:408
|
|
278
|
+
lz_log (OOO00O000000O0000 )#line:409
|
|
279
|
+
if OOO00O000000O0000 ==False :#line:410
|
|
280
|
+
lz_error (6 )#line:411
|
|
281
|
+
return #line:412
|
|
282
|
+
def processingAnimation (O0O0O000OOO00O0O0 ):#line:414
|
|
283
|
+
sys .stdout .write (O0O0O000OOO00O0O0 )#line:415
|
|
284
|
+
sys .stdout .flush ()#line:416
|
|
285
|
+
for OO0OOO00OO0OO000O in range (5 ):#line:417
|
|
286
|
+
sys .stdout .write ('.')#line:418
|
|
287
|
+
sys .stdout .flush ()#line:419
|
|
288
|
+
time .sleep (0.5 )#line:420
|
|
289
|
+
def process (O0OOO0OO0OOO00O00 ,O0OO0OOOOOO000O00 ):#line:422
|
|
290
|
+
print ("")#line:423
|
|
291
|
+
processingAnimation ("Processing")#line:424
|
|
292
|
+
print ("")#line:425
|
|
293
|
+
print ("")#line:426
|
|
294
|
+
O0O00OO0000O000O0 =r'''
|
|
295
|
+
@import <dlfcn.h>;
|
|
296
|
+
@import <objc/runtime.h>;
|
|
297
|
+
@import Foundation;
|
|
298
|
+
unsigned int count;
|
|
299
|
+
const char **classes;
|
|
300
|
+
Dl_info info;
|
|
301
|
+
|
|
302
|
+
void *_mh_execute_header = __builtin_return_address(0);
|
|
303
|
+
dladdr(_mh_execute_header, &info);
|
|
304
|
+
classes = (const char **)objc_copyClassNamesForImage(info.dli_fname, &count);
|
|
305
|
+
|
|
306
|
+
NSInteger level = 0;//继承层级
|
|
307
|
+
NSInteger backLevel = 0;//继承层级
|
|
308
|
+
NSMutableDictionary * visited_class = [[NSMutableDictionary alloc]init];
|
|
309
|
+
NSMutableArray * class_stack = [[NSMutableArray alloc] init];
|
|
310
|
+
[class_stack addObject:@"'''+O0OO0OOOOOO000O00 +'''"];
|
|
311
|
+
BOOL isPrint = NO;
|
|
312
|
+
while (true) {
|
|
313
|
+
|
|
314
|
+
NSString * current_class = [class_stack firstObject];
|
|
315
|
+
|
|
316
|
+
if (current_class) {
|
|
317
|
+
if((BOOL)[[visited_class objectForKey:current_class] boolValue] == YES ) {
|
|
318
|
+
|
|
319
|
+
BOOL hasNewClass = NO;
|
|
320
|
+
for (int i = 0; i < count; i++) {
|
|
321
|
+
|
|
322
|
+
NSString *className = [NSString stringWithCString:classes[i] encoding:NSUTF8StringEncoding];
|
|
323
|
+
NSString *superName = (NSString*)NSStringFromClass((Class)class_getSuperclass(NSClassFromString(className)));
|
|
324
|
+
|
|
325
|
+
if ([superName isEqualToString:current_class] && (BOOL)[[visited_class objectForKey:className] boolValue] == NO) {
|
|
326
|
+
[class_stack insertObject:className atIndex:0];
|
|
327
|
+
hasNewClass = YES;
|
|
328
|
+
break;
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
if (hasNewClass == YES) {
|
|
332
|
+
level += 1;
|
|
333
|
+
} else {
|
|
334
|
+
[class_stack removeObjectAtIndex:0];
|
|
335
|
+
level -= 1;
|
|
336
|
+
backLevel += 1;
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
} else {
|
|
340
|
+
|
|
341
|
+
NSMutableString * separationSpace = [[NSMutableString alloc]init];
|
|
342
|
+
for (int i = 0; i < level; ++i) {
|
|
343
|
+
[separationSpace appendString:@" |"];
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
NSMutableString * backLevelSpace = [[NSMutableString alloc]init];
|
|
347
|
+
for (int i = 0; i < backLevel-1; ++i) {
|
|
348
|
+
[backLevelSpace appendString:@" |"];
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
backLevel = 0;
|
|
352
|
+
|
|
353
|
+
if (isPrint == YES) {
|
|
354
|
+
printf("|%s%s\\n",(char *)[[separationSpace copy] UTF8String],(char *)[[backLevelSpace copy] UTF8String]);
|
|
355
|
+
}
|
|
356
|
+
NSString * temp = (NSString*)NSStringFromClass((Class)class_getSuperclass(NSClassFromString(current_class)));
|
|
357
|
+
if (temp.length > 0) {
|
|
358
|
+
printf("|%s----%s : %s (L%s) \\n",(char *)[[separationSpace copy] UTF8String],(char *)[current_class UTF8String],(char *)[temp UTF8String],(char *)[[NSString stringWithFormat:@"%ld",(long)level] UTF8String]);
|
|
359
|
+
} else {
|
|
360
|
+
printf("|----%s (L%s) \\n",(char *)[current_class UTF8String],(char *)[[NSString stringWithFormat:@"%ld",(long)level] UTF8String]);
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
isPrint = YES;
|
|
364
|
+
[visited_class setObject:@1 forKey:current_class];
|
|
365
|
+
}
|
|
366
|
+
} else {
|
|
367
|
+
break;
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
'''#line:503
|
|
371
|
+
OO00OOO0O00O0OOO0 =O0OOO0OO0OOO00O00 .GetCommandInterpreter ()#line:505
|
|
372
|
+
OO00OOO000OO000OO =lldb .SBCommandReturnObject ()#line:506
|
|
373
|
+
OO00OOO0O00O0OOO0 .HandleCommand ('expression -lobjc -O -- '+O0O00OO0000O000O0 ,OO00OOO000OO000OO )#line:508
|
|
374
|
+
O0OOO00O00OOOOOO0 =OO00OOO000OO000OO .GetOutput ()#line:509
|
|
375
|
+
OO0OO0OOOO0000O00 =re .search ('error',O0OOO00O00OOOOOO0 )#line:510
|
|
376
|
+
print (OO00OOO000OO000OO .GetError ())#line:511
|
|
377
|
+
def help ():#line:513
|
|
378
|
+
print ("Usage:")#line:515
|
|
379
|
+
print (" isource memory_address eg:isource 0x8badf00d")#line:516
|
|
380
|
+
print ("")#line:517
|
|
381
|
+
print (" isource class_name eg:isource NSObject")#line:518
|
|
382
|
+
print ("")#line:519
|
|
383
|
+
print ("Commands:")#line:521
|
|
384
|
+
print (" + help command help")#line:522
|
|
385
|
+
print (" + clean clean cache")#line:523
|
|
386
|
+
pass #line:524
|
|
387
|
+
def helloworld (O000000O000O00O00 ,OO0O00OO00000000O ,O0OO0OO0OO0OOOOOO ,O00O0OO000OO00000 ):#line:527
|
|
388
|
+
if OO0O00OO00000000O ==''or OO0O00OO00000000O =='-h':#line:529
|
|
389
|
+
help ()#line:530
|
|
390
|
+
elif OO0O00OO00000000O =='-c':#line:531
|
|
391
|
+
clean (source_code_dir )#line:532
|
|
392
|
+
elif re .match ('0x.*[a-z0-9]',OO0O00OO00000000O )!=None :#line:533
|
|
393
|
+
start (O000000O000O00O00 ,OO0O00OO00000000O )#line:534
|
|
394
|
+
elif re .match ('.*[a-z0-9]',OO0O00OO00000000O )!=None :#line:535
|
|
395
|
+
process (O000000O000O00O00 ,OO0O00OO00000000O )#line:536
|
|
396
|
+
else :#line:537
|
|
397
|
+
print ('error: '+OO0O00OO00000000O +' is not a valid command.')#line:538
|
|
398
|
+
help ()#line:539
|
|
399
|
+
def __OOOO0O0OOOO000O0O (OOO0OOO00O0OOO0O0 ,OO0OOO00OO0O0O000 ):#line:542
|
|
400
|
+
manage_source_dir ()#line:544
|
|
401
|
+
manage_job_inis ()#line:548
|
|
402
|
+
OOO0OOO00O0OOO0O0 .HandleCommand ("command script add -f isource_lldb.helloworld isource")#line:550
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: isource_lldb
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.3.
|
|
4
|
+
version: 0.3.9
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- ningyuan
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2021-06-
|
|
11
|
+
date: 2021-06-30 00:00:00.000000000 Z
|
|
12
12
|
dependencies: []
|
|
13
13
|
description: An plugin of LLDB.
|
|
14
14
|
email:
|