isource_lldb 0.2.6 → 0.2.8
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 +300 -294
- 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: a04d2f026fe929f51bc5c0bd023da6990f674f6b92497997a9dacfc6af66a87b
|
|
4
|
+
data.tar.gz: 34142fc5b406998fece08ca63f6a6d64ed06ec71a9b59cb6c769b297311c2f42
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 282bc58381b6c0a6b914f99d63ed0ca1564d0fc5dac472775bf9beab4b5bf48ffaa2e7a5b1a1801b7b51248b84ecccbf8667f3ba1534b31448ea8ad25855dac1
|
|
7
|
+
data.tar.gz: 9d5e42702af88e12eb9be2622d4d2db55c1c5a04f3050aa2fc6bb369ef4ba3140c63b3d6573818af78d69d64fc13af691d4ec76504b4550b7e8159cdbaab0f62
|
data/lib/setup
CHANGED
|
@@ -1,295 +1,301 @@
|
|
|
1
1
|
# !/usr/bin/env python3
|
|
2
|
-
import lldb #line:5
|
|
3
|
-
import os #line:6
|
|
4
|
-
import re #line:7
|
|
5
|
-
import time #line:8
|
|
6
|
-
import datetime #line:9
|
|
7
|
-
import queue #line:10
|
|
8
|
-
import shutil #line:11
|
|
9
|
-
import threading #line:12
|
|
10
|
-
import sys #line:13
|
|
11
|
-
from threading import Thread #line:14
|
|
12
|
-
user_dir =os .path .expanduser ('~')#line:16
|
|
13
|
-
source_lldb_dir =user_dir +"/.isource_lldb"#line:17
|
|
14
|
-
source_code_dir =source_lldb_dir +"/source_code"#line:18
|
|
15
|
-
drrr_job_inis_dir =source_lldb_dir +"/drrr_job_inis"#line:19
|
|
16
|
-
drrr_job_inis_dir_modules =drrr_job_inis_dir +"/modules"#line:20
|
|
17
|
-
drrr_job_inis_addr ='ssh://git@gitlab.qiyi.domain:10022/qytools/drrr_job_inis.git'#line:21
|
|
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 (
|
|
22
|
-
pass #line:30
|
|
23
|
-
def manage_source_dir ():#line:33
|
|
24
|
-
|
|
25
|
-
if not
|
|
26
|
-
os .makedirs (source_lldb_dir )#line:36
|
|
27
|
-
os .makedirs (source_code_dir )#line:37
|
|
28
|
-
else :#line:38
|
|
29
|
-
|
|
30
|
-
if not
|
|
31
|
-
os .makedirs (source_code_dir )#line:41
|
|
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
|
-
|
|
54
|
-
break #line:68
|
|
55
|
-
return
|
|
56
|
-
def manage_job_inis ():#line:72
|
|
57
|
-
|
|
58
|
-
if
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
if
|
|
64
|
-
lz_error (0 )#line:80
|
|
65
|
-
else :#line:81
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
if
|
|
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
|
-
|
|
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
|
-
|
|
119
|
-
break #line:156
|
|
120
|
-
if
|
|
121
|
-
break #line:158
|
|
122
|
-
if
|
|
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
|
|
135
|
-
return ""#line:194
|
|
136
|
-
else :#line:195
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
if
|
|
142
|
-
return ""#line:201
|
|
143
|
-
return
|
|
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
|
|
184
|
-
return False #line:257
|
|
185
|
-
else :#line:258
|
|
186
|
-
return True #line:259
|
|
187
|
-
def checkError (
|
|
188
|
-
|
|
189
|
-
if
|
|
190
|
-
return True #line:264
|
|
191
|
-
else :#line:265
|
|
192
|
-
return False #line:266
|
|
193
|
-
def map_source_code (
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
if
|
|
202
|
-
return True #line:278
|
|
203
|
-
else :#line:279
|
|
204
|
-
return False #line:280
|
|
205
|
-
def thread_step_inst (
|
|
206
|
-
pass #line:284
|
|
207
|
-
def adjustStackFrame (
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
if
|
|
217
|
-
return False #line:315
|
|
218
|
-
time .sleep (0.5 )#line:317
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
if
|
|
223
|
-
return False #line:331
|
|
224
|
-
def clean (
|
|
225
|
-
|
|
226
|
-
for
|
|
227
|
-
|
|
228
|
-
if os .path .isfile (
|
|
229
|
-
os .remove (
|
|
230
|
-
elif os .path .isdir (
|
|
231
|
-
shutil .rmtree (
|
|
232
|
-
pass #line:341
|
|
233
|
-
def processing (
|
|
234
|
-
sys .stdout .write (
|
|
235
|
-
sys .stdout .flush ()#line:353
|
|
236
|
-
def start (
|
|
237
|
-
processing ("processing")#line:357
|
|
238
|
-
processing (".")#line:360
|
|
239
|
-
lz_log (1 )#line:
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
lz_log (
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
2
|
+
import lldb #line:5:import lldb
|
|
3
|
+
import os #line:6:import os
|
|
4
|
+
import re #line:7:import re
|
|
5
|
+
import time #line:8:import time
|
|
6
|
+
import datetime #line:9:import datetime
|
|
7
|
+
import queue #line:10:import queue
|
|
8
|
+
import shutil #line:11:import shutil
|
|
9
|
+
import threading #line:12:import threading
|
|
10
|
+
import sys #line:13:import sys
|
|
11
|
+
from threading import Thread #line:14:from threading import Thread
|
|
12
|
+
user_dir =os .path .expanduser ('~')#line:16:user_dir = os.path.expanduser('~')
|
|
13
|
+
source_lldb_dir =user_dir +"/.isource_lldb"#line:17:source_lldb_dir = user_dir + "/.isource_lldb"
|
|
14
|
+
source_code_dir =source_lldb_dir +"/source_code"#line:18:source_code_dir = source_lldb_dir + "/source_code"
|
|
15
|
+
drrr_job_inis_dir =source_lldb_dir +"/drrr_job_inis"#line:19:drrr_job_inis_dir = source_lldb_dir + "/drrr_job_inis"
|
|
16
|
+
drrr_job_inis_dir_modules =drrr_job_inis_dir +"/modules"#line:20:drrr_job_inis_dir_modules = drrr_job_inis_dir + "/modules"
|
|
17
|
+
drrr_job_inis_addr ='ssh://git@gitlab.qiyi.domain:10022/qytools/drrr_job_inis.git'#line:21:drrr_job_inis_addr = 'ssh://git@gitlab.qiyi.domain:10022/qytools/drrr_job_inis.git'
|
|
18
|
+
project_info_cache =source_lldb_dir +"/project_info_cache.txt"#line:22:project_info_cache = source_lldb_dir + "/project_info_cache.txt"
|
|
19
|
+
def lz_error (O00O0OO0O0O0O0OO0 ):#line:24:def lz_error(reason_t):
|
|
20
|
+
print ("internal error code : "+str (O00O0OO0O0O0O0OO0 ))#line:25:print("internal error code : " + str(reason_t))
|
|
21
|
+
def lz_log (O00OO0OOOOO0O00OO ):#line:27:def lz_log(reason_t):
|
|
22
|
+
pass #line:30:pass
|
|
23
|
+
def manage_source_dir ():#line:33:def manage_source_dir():
|
|
24
|
+
OOO0O0O0OO000O0OO =os .path .exists (source_lldb_dir )#line:34:source_lldb_dir_isExists = os.path.exists(source_lldb_dir)
|
|
25
|
+
if not OOO0O0O0OO000O0OO :#line:35:if not source_lldb_dir_isExists:
|
|
26
|
+
os .makedirs (source_lldb_dir )#line:36:os.makedirs(source_lldb_dir)
|
|
27
|
+
os .makedirs (source_code_dir )#line:37:os.makedirs(source_code_dir)
|
|
28
|
+
else :#line:38:else:
|
|
29
|
+
O0O00OO000O0OO0OO =os .path .exists (source_code_dir )#line:39:source_code_dir_isExists = os.path.exists(source_code_dir)
|
|
30
|
+
if not O0O00OO000O0OO0OO :#line:40:if not source_code_dir_isExists:
|
|
31
|
+
os .makedirs (source_code_dir )#line:41:os.makedirs(source_code_dir)
|
|
32
|
+
def create_cache_file ():#line:44:def create_cache_file():
|
|
33
|
+
OOO00O00OO000O0OO =os .path .exists (project_info_cache )#line:45:project_info_cache_isExists = os.path.exists(project_info_cache)
|
|
34
|
+
if not OOO00O00OO000O0OO :#line:46:if not project_info_cache_isExists:
|
|
35
|
+
O0O0O00OOO0O0OO00 =open (project_info_cache ,'w')#line:47:file = open(project_info_cache,'w')
|
|
36
|
+
O0O0O00OOO0O0OO00 .close ()#line:48:file.close()
|
|
37
|
+
def write_cache_file (O0O0OO0O00000O0OO ):#line:50:def write_cache_file(params):
|
|
38
|
+
if O0O0OO0O00000O0OO [0 ]!=None and O0O0OO0O00000O0OO [1 ]!=None and O0O0OO0O00000O0OO [2 ]!=None and O0O0OO0O00000O0OO [3 ]!=None :#line:51:if params[0] != None and params[1] != None and params[2] != None and params[3] != None :
|
|
39
|
+
OOO0O0OOOOOOOOOO0 =list (O0O0OO0O00000O0OO )#line:52:temp = list(params)
|
|
40
|
+
OOO0O00O00000OOOO ='---'.join (OOO0O0OOOOOOOOOO0 )#line:53:resutl = '---'.join(temp)
|
|
41
|
+
OOO0OO0O000O00OOO =open (project_info_cache ,'a+')#line:54:file = open(project_info_cache,'a+')
|
|
42
|
+
OOO0OO0O000O00OOO .write (OOO0O00O00000OOOO +"\n")#line:55:file.write(resutl+"\n")
|
|
43
|
+
OOO0OO0O000O00OOO .close ()#line:56:file.close()
|
|
44
|
+
def read_cache_file (O0O0O0OO0OO00OOO0 ):#line:58:def read_cache_file(project_name):
|
|
45
|
+
O0OO0O0OO0OO0OOO0 =None #line:59:project_info = None
|
|
46
|
+
with open (project_info_cache ,'r',encoding ='utf-8')as O00000O0000OO00O0 :#line:60:with open(project_info_cache,'r',encoding='utf-8') as f:
|
|
47
|
+
O000OO0OOO0000OO0 =O00000O0000OO00O0 .readlines ()#line:61:content_lines = f.readlines()
|
|
48
|
+
for OO0O00O0O00O0000O in range (0 ,len (O000OO0OOO0000OO0 )):#line:62:for i in range(0, len(content_lines)):
|
|
49
|
+
OOO000O0000OO0OO0 =re .search (O0O0O0OO0OO00OOO0 ,O000OO0OOO0000OO0 [OO0O00O0O00O0000O ])#line:63:result = re.search(project_name, content_lines[i])
|
|
50
|
+
if OOO000O0000OO0OO0 !=None :#line:64:if result != None:
|
|
51
|
+
OO0OOOO0O000OOO0O =O000OO0OOO0000OO0 [OO0O00O0O00O0000O ]#line:65:content_lines_temp = content_lines[i]
|
|
52
|
+
O0OOO0000O0OOO0O0 =OO0OOOO0O000OOO0O .split ('---')#line:66:infos = content_lines_temp.split('---')
|
|
53
|
+
O0OO0O0OO0OO0OOO0 =tuple (O0OOO0000O0OOO0O0 )#line:67:project_info = tuple(infos)
|
|
54
|
+
break #line:68:break
|
|
55
|
+
return O0OO0O0OO0OO0OOO0 #line:69:return project_info
|
|
56
|
+
def manage_job_inis ():#line:72:def manage_job_inis():
|
|
57
|
+
OOO00OOO0O00O00O0 =os .path .exists (drrr_job_inis_dir )#line:73:drrr_job_inis_dir_isExists = os.path.exists(drrr_job_inis_dir)
|
|
58
|
+
if OOO00OOO0O00O00O0 ==True :#line:74:if drrr_job_inis_dir_isExists == True:
|
|
59
|
+
O00O0OO00OO0O0OOO ="cd "+drrr_job_inis_dir +"; git pull"#line:75:update = "cd " + drrr_job_inis_dir + "; git pull"
|
|
60
|
+
OO000O0OO00O0O0OO =os .popen (O00O0OO00OO0O0OOO )#line:76:result = os.popen(update)
|
|
61
|
+
OO0000OOOOOO000O0 =OO000O0OO00O0O0OO .read ()#line:77:content = result.read()
|
|
62
|
+
OO000O0000O0OO0O0 =re .search ("fatal",OO0000OOOOOO000O0 )#line:78:fatal = re.search("fatal", content)
|
|
63
|
+
if OO000O0000O0OO0O0 !=None :#line:79:if fatal != None:
|
|
64
|
+
lz_error (0 )#line:80:lz_error(0)
|
|
65
|
+
else :#line:81:else:
|
|
66
|
+
OO00O0OO0O0OOOOOO ="git clone "+drrr_job_inis_addr +" "+drrr_job_inis_dir #line:82:dowmload = "git clone "+ drrr_job_inis_addr +" "+ drrr_job_inis_dir
|
|
67
|
+
OO000O0OO00O0O0OO =os .popen (OO00O0OO0O0OOOOOO )#line:83:result = os.popen(dowmload)
|
|
68
|
+
OO0000OOOOOO000O0 =OO000O0OO00O0O0OO .read ()#line:84:content = result.read()
|
|
69
|
+
OO000O0000O0OO0O0 =re .search ("fatal",OO0000OOOOOO000O0 )#line:85:fatal = re.search("fatal", content)
|
|
70
|
+
if OO000O0000O0OO0O0 !=None :#line:86:if fatal != None:
|
|
71
|
+
lz_error (0 )#line:87:lz_error(0)
|
|
72
|
+
def get_debug_file_path (O00O0O0O0O0O00OO0 ):#line:90:def get_debug_file_path(command_t):
|
|
73
|
+
O0OO0OO00OOOO0OO0 =lldb .debugger .GetCommandInterpreter ()#line:91:interpreter = lldb.debugger.GetCommandInterpreter()
|
|
74
|
+
O00O00O0O0O00OO00 =lldb .SBCommandReturnObject ()#line:92:returnObject = lldb.SBCommandReturnObject()
|
|
75
|
+
O0OO0OO00OOOO0OO0 .HandleCommand ('image lookup -v --address '+O00O0O0O0O0O00OO0 ,O00O00O0O0O00OO00 )#line:93:interpreter.HandleCommand('image lookup -v --address ' + command_t, returnObject)
|
|
76
|
+
OO00OO0O000OOO000 =O00O00O0O0O00OO00 .GetOutput ()#line:94:output = returnObject.GetOutput()
|
|
77
|
+
O0O00OO00O0O0OO0O =""#line:96:debug_file_path = ""
|
|
78
|
+
O0O0OOO0O00OO000O =re .search ('error',OO00OO0O000OOO000 )#line:97:result = re.search('error', output)
|
|
79
|
+
if O0O0OOO0O00OO000O !=None :#line:98:if result != None:
|
|
80
|
+
return O0O00OO00O0O0OO0O #line:99:return debug_file_path
|
|
81
|
+
O00O00O0O0O00O0O0 =OO00OO0O000OOO000 .split ("\n")#line:102:str_to_array = output.split("\n")
|
|
82
|
+
if len (O00O00O0O0O00O0O0 )>3 :#line:103:if len(str_to_array)>3:
|
|
83
|
+
OO0OOOOO0O000O00O =O00O00O0O0O00O0O0 [3 ].strip ()#line:104:unit_str = str_to_array[3].strip()
|
|
84
|
+
OOOOOOO000OOOO000 =OO0OOOOO0O000O00O .split (",")#line:106:file_array = unit_str.split(",")
|
|
85
|
+
if len (OOOOOOO000OOOO000 )>1 :#line:107:if len(file_array)>1:
|
|
86
|
+
O0O0O00OO0OO00000 =OOOOOOO000OOOO000 [1 ].strip ()#line:108:file = file_array[1].strip()
|
|
87
|
+
OOOO00OO00000OOO0 =O0O0O00OO0OO00000 .split ("=")#line:110:name_array = file.split("=")
|
|
88
|
+
if len (OOOO00OO00000OOO0 )>1 :#line:111:if len(name_array)>1:
|
|
89
|
+
OOOOO000O0OO0OO0O =OOOO00OO00000OOO0 [1 ].strip ()#line:112:name = name_array[1].strip()
|
|
90
|
+
O0O00OO00O0O0OO0O =OOOOO000O0OO0OO0O .replace ('\"','')#line:114:debug_file_path = name.replace('\"','')
|
|
91
|
+
return O0O00OO00O0O0OO0O #line:116:return debug_file_path
|
|
92
|
+
def get_inis_info (O0000O0000O00O0O0 ):#line:119:def get_inis_info(debug_file_path):
|
|
93
|
+
O00O000000O0000O0 =None #line:121:project_name_t = None
|
|
94
|
+
O000O0O000O0O0O0O =None #line:122:source_path_t = None
|
|
95
|
+
O00O000000O0O0OOO =None #line:123:match_inis_name = None
|
|
96
|
+
OOO0O0OOO000000O0 =None #line:124:source_code_address = None
|
|
97
|
+
O0OO0OOOOO00O00O0 =O0000O0000O00O0O0 .split ("/")#line:127:paths = debug_file_path.split("/")
|
|
98
|
+
for OO0000OO0O0O00OO0 in range (0 ,len (O0OO0OOOOO00O00O0 )):#line:128:for i in range(0, len(paths)):
|
|
99
|
+
if O0OO0OOOOO00O00O0 [OO0000OO0O0O00OO0 ]=="MODULE_DIR":#line:129:if paths[i] == "MODULE_DIR":
|
|
100
|
+
O000O0O000O0O0O0O =O0OO0OOOOO00O00O0 [OO0000OO0O0O00OO0 +1 ]#line:130:source_path_t = paths[i+1]
|
|
101
|
+
O00O000000O0000O0 =O0OO0OOOOO00O00O0 [OO0000OO0O0O00OO0 +1 ]#line:131:project_name_t = paths[i+1]
|
|
102
|
+
break #line:132:break
|
|
103
|
+
if O000O0O000O0O0O0O !=None and len (O000O0O000O0O0O0O )>0 :#line:139:if source_path_t != None and len(source_path_t) > 0 :
|
|
104
|
+
O0O0O0OOO0000O000 =os .listdir (drrr_job_inis_dir_modules )#line:140:job_inis_list = os.listdir(drrr_job_inis_dir_modules)
|
|
105
|
+
for OO0000OO0O0O00OO0 in range (0 ,len (O0O0O0OOO0000O000 )):#line:141:for i in range(0, len(job_inis_list)):
|
|
106
|
+
OO0OO0OO00O00OOO0 =drrr_job_inis_dir_modules +"/"+O0O0O0OOO0000O000 [OO0000OO0O0O00OO0 ]#line:142:job_inis_dir_t = drrr_job_inis_dir_modules + "/" + job_inis_list[i]
|
|
107
|
+
with open (OO0OO0OO00O00OOO0 ,'r',encoding ='utf-8')as OOO000OOO0O00OOOO :#line:144:with open(job_inis_dir_t,'r',encoding='utf-8') as f:
|
|
108
|
+
O0OOO0000OOO00OO0 =OOO000OOO0O00OOOO .readlines ()#line:145:content_lines = f.readlines()
|
|
109
|
+
for OO0000OO0O0O00OO0 in range (0 ,len (O0OOO0000OOO00OO0 )):#line:146:for i in range(0, len(content_lines)):
|
|
110
|
+
OOO000O0O00OOO000 =re .search (O000O0O000O0O0O0O ,O0OOO0000OOO00OO0 [OO0000OO0O0O00OO0 ])#line:147:result = re.search(source_path_t, content_lines[i])
|
|
111
|
+
if OOO000O0O00OOO000 !=None :#line:148:if result != None:
|
|
112
|
+
O00O000000O0O0OOO =O0O0O0OOO0000O000 [OO0000OO0O0O00OO0 ]#line:149:match_inis_name = job_inis_list[i]
|
|
113
|
+
OO00O0O0OO0O000O0 =OO0000OO0O0O00OO0 -5 if OO0000OO0O0O00OO0 >5 else 0 #line:150:start = i - 5 if i > 5 else 0
|
|
114
|
+
O00O00O0000OO0O0O =OO0000OO0O0O00OO0 +5 if OO0000OO0O0O00OO0 +5 <len (O0OOO0000OOO00OO0 )else len (O0OOO0000OOO00OO0 )#line:151:end = i + 5 if i + 5 < len(content_lines) else len(content_lines)
|
|
115
|
+
for O000OO0OOOOO0000O in range (OO00O0O0OO0O000O0 ,O00O00O0000OO0O0O ):#line:152:for j in range(start, end):
|
|
116
|
+
O0OOO0OO0OO00OOO0 =re .findall ("ssh://git@gitlab.qiyi.domain:[^/]+?/.*?"+O00O000000O0000O0 +"*?[^0~9]?.git",O0OOO0000OOO00OO0 [O000OO0OOOOO0000O ])#line:153:result_t = re.findall("ssh://git@gitlab.qiyi.domain:[^/]+?/.*?"+project_name_t+"*?[^0~9]?.git",content_lines[j])
|
|
117
|
+
if len (O0OOO0OO0OO00OOO0 )>0 :#line:154:if len(result_t) > 0 :
|
|
118
|
+
OOO0O0OOO000000O0 =O0OOO0OO0OO00OOO0 [0 ]#line:155:source_code_address = result_t[0]
|
|
119
|
+
break #line:156:break
|
|
120
|
+
if OOO0O0OOO000000O0 !=None :#line:157:if source_code_address != None:
|
|
121
|
+
break #line:158:break
|
|
122
|
+
if OOO0O0OOO000000O0 !=None :#line:159:if source_code_address != None:
|
|
123
|
+
break #line:160:break
|
|
124
|
+
return (O00O000000O0000O0 ,OOO0O0OOO000000O0 )#line:179:return (project_name_t,source_code_address)
|
|
125
|
+
def download_git_source_code (O0OOO00OO0OOO0O00 ,O0O000OOOO00OOOO0 ):#line:183:def download_git_source_code(p_name,git_address):
|
|
126
|
+
OOOO000O0O000O000 =source_code_dir +"/"+O0OOO00OO0OOO0O00 #line:184:project_dir = source_code_dir + "/" + p_name
|
|
127
|
+
OO00OOOO0O0OOO00O =os .path .exists (OOOO000O0O000O000 )#line:185:project_dir_isExists = os.path.exists(project_dir)
|
|
128
|
+
if not OO00OOOO0O0OOO00O :#line:187:if not project_dir_isExists:
|
|
129
|
+
os .makedirs (OOOO000O0O000O000 )#line:188:os.makedirs(project_dir)
|
|
130
|
+
O00000O0OO00OO000 ="git clone "+O0O000OOOO00OOOO0 +" "+OOOO000O0O000O000 #line:189:dowmload = "git clone "+ git_address +" " + project_dir
|
|
131
|
+
O0OO0O0OO000O0OOO =os .popen (O00000O0OO00OO000 )#line:190:result = os.popen(dowmload)
|
|
132
|
+
OO00OOO0OOO00OO00 =O0OO0O0OO000O0OOO .read ()#line:191:content = result.read()
|
|
133
|
+
O0OO0OO0OOO0O00O0 =re .search ("fatal",OO00OOO0OOO00OO00 )#line:192:fatal = re.search("fatal", content)
|
|
134
|
+
if O0OO0OO0OOO0O00O0 !=None :#line:193:if fatal != None:
|
|
135
|
+
return ""#line:194:return ""
|
|
136
|
+
else :#line:195:else:
|
|
137
|
+
OOOO0OOOOOOOO0OOO ="cd "+OOOO000O0O000O000 +"; git pull"#line:196:update = "cd " + project_dir + "; git pull"
|
|
138
|
+
O0OO0O0OO000O0OOO =os .popen (OOOO0OOOOOOOO0OOO )#line:197:result = os.popen(update)
|
|
139
|
+
OO00OOO0OOO00OO00 =O0OO0O0OO000O0OOO .read ()#line:198:content = result.read()
|
|
140
|
+
O0OO0OO0OOO0O00O0 =re .search ("fatal",OO00OOO0OOO00OO00 )#line:199:fatal = re.search("fatal", content)
|
|
141
|
+
if O0OO0OO0OOO0O00O0 !=None :#line:200:if fatal != None:
|
|
142
|
+
return ""#line:201:return ""
|
|
143
|
+
return OOOO000O0O000O000 #line:203:return project_dir
|
|
144
|
+
def get_update_time ():#line:206:def get_update_time():
|
|
145
|
+
OO0O0OOOO00O00000 =user_dir +"/.cocoapods/repos/qiyi-podspecs/"#line:208:specs_dir = user_dir + "/.cocoapods/repos/qiyi-podspecs/"
|
|
146
|
+
OOOO0OO00OOOO0000 =os .path .getmtime (OO0O0OOOO00O00000 )#line:209:timestamp = os.path.getmtime(specs_dir)
|
|
147
|
+
O0000O00OO0O0O0OO =time .localtime (OOOO0OO00OOOO0000 )#line:210:timeStruct = time.localtime(timestamp)
|
|
148
|
+
OO000O0O00OO0OOO0 =time .strftime ("%m %d %H:%M:%S %Y",O0000O00OO0O0O0OO )#line:213:time_str = time.strftime("%m %d %H:%M:%S %Y",timeStruct)
|
|
149
|
+
O00O00O0O0OO00OOO =OO000O0O00OO0OOO0 .split (" ")#line:214:file_array = time_str.split(" ")
|
|
150
|
+
O0000000OOO0O0O00 =O00O00O0O0OO00OOO [0 ]#line:215:month = file_array[0]
|
|
151
|
+
if O0000000OOO0O0O00 =='1':#line:217:if month == '1':
|
|
152
|
+
O0000000OOO0O0O00 ='Jan'#line:218:month = 'Jan'
|
|
153
|
+
if O0000000OOO0O0O00 =='2':#line:219:if month == '2':
|
|
154
|
+
O0000000OOO0O0O00 ='Feb'#line:220:month = 'Feb'
|
|
155
|
+
if O0000000OOO0O0O00 =='3':#line:221:if month == '3':
|
|
156
|
+
O0000000OOO0O0O00 ='Mar'#line:222:month = 'Mar'
|
|
157
|
+
if O0000000OOO0O0O00 =='4':#line:223:if month == '4':
|
|
158
|
+
O0000000OOO0O0O00 ='Apr'#line:224:month = 'Apr'
|
|
159
|
+
if O0000000OOO0O0O00 =='5':#line:225:if month == '5':
|
|
160
|
+
O0000000OOO0O0O00 ='May'#line:226:month = 'May'
|
|
161
|
+
if O0000000OOO0O0O00 =='6':#line:227:if month == '6':
|
|
162
|
+
O0000000OOO0O0O00 ='Jun'#line:228:month = 'Jun'
|
|
163
|
+
if O0000000OOO0O0O00 =='7':#line:229:if month == '7':
|
|
164
|
+
O0000000OOO0O0O00 ='Jul'#line:230:month = 'Jul'
|
|
165
|
+
if O0000000OOO0O0O00 =='8':#line:231:if month == '8':
|
|
166
|
+
O0000000OOO0O0O00 ='Aug'#line:232:month = 'Aug'
|
|
167
|
+
if O0000000OOO0O0O00 =='9':#line:233:if month == '9':
|
|
168
|
+
O0000000OOO0O0O00 ='Sep'#line:234:month = 'Sep'
|
|
169
|
+
if O0000000OOO0O0O00 =='10':#line:235:if month == '10':
|
|
170
|
+
O0000000OOO0O0O00 ='Oct'#line:236:month = 'Oct'
|
|
171
|
+
if O0000000OOO0O0O00 =='11':#line:237:if month == '11':
|
|
172
|
+
O0000000OOO0O0O00 ='Nov'#line:238:month = 'Nov'
|
|
173
|
+
if O0000000OOO0O0O00 =='12':#line:239:if month == '12':
|
|
174
|
+
O0000000OOO0O0O00 ='Dec'#line:240:month = 'Dec'
|
|
175
|
+
O00O00O0O0OO00OOO [0 ]=O0000000OOO0O0O00 #line:242:file_array[0] = month
|
|
176
|
+
return ' '.join (O00O00O0O0OO00OOO )#line:244:return ' '.join(file_array)
|
|
177
|
+
def change_source_code_commit (O0OOO0OOOOOOOOO00 ):#line:247:def change_source_code_commit(source_code_path_t):
|
|
178
|
+
O00OO0OOOOO00O0OO =get_update_time ()#line:250:last_update_time = get_update_time()
|
|
179
|
+
OO0O0O00OOO00O0O0 ="cd "+O0OOO0OOOOOOOOO00 +"; git rev-list -n 1 --before=\""+O00OO0OOOOO00O0OO +"\" master"#line:252:update = "cd " + source_code_path_t + "; git rev-list -n 1 --before=\""+ last_update_time +"\" master"
|
|
180
|
+
OO00OOOOO00000OO0 =os .popen (OO0O0O00OOO00O0O0 )#line:253:result = os.popen(update)
|
|
181
|
+
OOOO0O00O0OOOOOO0 =OO00OOOOO00000OO0 .read ()#line:254:content = result.read()
|
|
182
|
+
O0O0O0O0O0OOOOOOO =re .search ("fatal",OOOO0O00O0OOOOOO0 )#line:255:fatal = re.search("fatal", content)
|
|
183
|
+
if O0O0O0O0O0OOOOOOO !=None :#line:256:if fatal != None:
|
|
184
|
+
return False #line:257:return False
|
|
185
|
+
else :#line:258:else:
|
|
186
|
+
return True #line:259:return True
|
|
187
|
+
def checkError (O0O0000OO0O0OO0OO ,OO0000O0OO0OOO000 ):#line:261:def checkError(result,keywords):
|
|
188
|
+
OOO00OO00O0OOOO0O =re .search (OO0000O0OO0OOO000 ,O0O0000OO0O0OO0OO )#line:262:flag = re.search(keywords, result)
|
|
189
|
+
if OOO00OO00O0OOOO0O ==None :#line:263:if flag == None :
|
|
190
|
+
return True #line:264:return True
|
|
191
|
+
else :#line:265:else:
|
|
192
|
+
return False #line:266:return False
|
|
193
|
+
def map_source_code (OOOO0OO0O00O00O0O ,O0O0OO0O0000OOOO0 ,OOOO00O000O00O000 ):#line:269:def map_source_code(source_code_path_t,debug_code_path_t,reveal_path_t):
|
|
194
|
+
O00000OO00O0O00OO =O0O0OO0O0000OOOO0 .split (OOOO00O000O00O000 )#line:270:paths_t = debug_code_path_t.split(reveal_path_t)
|
|
195
|
+
OO0OO000O00OOO000 =O00000OO00O0O00OO [0 ]#line:271:debug_t = paths_t[0]
|
|
196
|
+
OOOOOOO0OOOO0000O =lldb .debugger .GetCommandInterpreter ()#line:272:interpreter = lldb.debugger.GetCommandInterpreter()
|
|
197
|
+
OO00O0OO0OO00OOO0 =lldb .SBCommandReturnObject ()#line:273:returnObject = lldb.SBCommandReturnObject()
|
|
198
|
+
OOOOOOO0OOOO0000O .HandleCommand ("settings append target.source-map "+OO0OO000O00OOO000 +" "+OOOO0OO0O00O00O0O ,OO00O0OO0OO00OOO0 )#line:274:interpreter.HandleCommand("settings append target.source-map "+ debug_t +" " + source_code_path_t,returnObject)
|
|
199
|
+
OOO0OO000OOOOO00O =OO00O0OO0OO00OOO0 .GetOutput ()#line:275:output = returnObject.GetOutput()
|
|
200
|
+
O0O0O0OOO0O0OOOOO =re .search ('error',OOO0OO000OOOOO00O )#line:276:flag = re.search('error', output)
|
|
201
|
+
if O0O0O0OOO0O0OOOOO ==None :#line:277:if flag == None :
|
|
202
|
+
return True #line:278:return True
|
|
203
|
+
else :#line:279:else:
|
|
204
|
+
return False #line:280:return False
|
|
205
|
+
def thread_step_inst (OOO0O00O0OOOOO0OO ):#line:283:def thread_step_inst(tmep):
|
|
206
|
+
pass #line:284:pass
|
|
207
|
+
def adjustStackFrame (O00O0O0O000000O00 ):#line:287:def adjustStackFrame(debugger):
|
|
208
|
+
O00O0O0O000000O00 .SetAsync (True )#line:298:debugger.SetAsync(True)
|
|
209
|
+
OO0OO0OO0000OO0O0 =O00O0O0O000000O00 .GetSelectedTarget ().GetProcess ().GetSelectedThread ()#line:303:thread = debugger.GetSelectedTarget().GetProcess().GetSelectedThread()
|
|
210
|
+
OO0OOO000O0O0O0OO =OO0OO0OO0000OO0O0 .GetSelectedFrame ().GetFrameID ()#line:304:frame_num = thread.GetSelectedFrame().GetFrameID()
|
|
211
|
+
OOOOOO0O0O0000OOO =lldb .debugger .GetCommandInterpreter ()#line:306:interpreter = lldb.debugger.GetCommandInterpreter()
|
|
212
|
+
OOOOO000O0O000000 =lldb .SBCommandReturnObject ()#line:307:returnObject = lldb.SBCommandReturnObject()
|
|
213
|
+
OOOOOO0O0O0000OOO .HandleCommand ("thread step-inst",OOOOO000O0O000000 )#line:311:interpreter.HandleCommand("thread step-inst",returnObject)
|
|
214
|
+
OOO0OOO0O0OO0OOO0 =OOOOO000O0O000000 .GetOutput ()#line:312:output = returnObject.GetOutput()
|
|
215
|
+
O0O0OO000O00000O0 =re .search ('error',OOO0OOO0O0OO0OOO0 )#line:313:result = re.search('error', output)
|
|
216
|
+
if O0O0OO000O00000O0 !=None :#line:314:if result != None:
|
|
217
|
+
return False #line:315:return False
|
|
218
|
+
time .sleep (0.5 )#line:317:time.sleep(0.5)
|
|
219
|
+
OOOOOO0O0O0000OOO .HandleCommand ("frame select "+str (OO0OOO000O0O0O0OO ),OOOOO000O0O000000 )#line:326:interpreter.HandleCommand("frame select "+str(frame_num),returnObject)
|
|
220
|
+
OOO0OOO0O0OO0OOO0 =OOOOO000O0O000000 .GetOutput ()#line:327:output = returnObject.GetOutput()
|
|
221
|
+
O0O0OO000O00000O0 =re .search ('error',OOO0OOO0O0OO0OOO0 )#line:328:result = re.search('error', output)
|
|
222
|
+
if O0O0OO000O00000O0 !=None :#line:330:if result != None:
|
|
223
|
+
return False #line:331:return False
|
|
224
|
+
def clean (OO0000OO00OO0O0O0 ):#line:333:def clean(filepath):
|
|
225
|
+
O000O00O00OO0O000 =os .listdir (OO0000OO00OO0O0O0 )#line:334:del_list = os.listdir(filepath)
|
|
226
|
+
for O0OO00O0OOOOOO0OO in O000O00O00OO0O000 :#line:335:for f in del_list:
|
|
227
|
+
O000OOO000OOOOO0O =os .path .join (OO0000OO00OO0O0O0 ,O0OO00O0OOOOOO0OO )#line:336:file_path = os.path.join(filepath, f)
|
|
228
|
+
if os .path .isfile (O000OOO000OOOOO0O ):#line:337:if os.path.isfile(file_path):
|
|
229
|
+
os .remove (O000OOO000OOOOO0O )#line:338:os.remove(file_path)
|
|
230
|
+
elif os .path .isdir (O000OOO000OOOOO0O ):#line:339:elif os.path.isdir(file_path):
|
|
231
|
+
shutil .rmtree (O000OOO000OOOOO0O )#line:340:shutil.rmtree(file_path)
|
|
232
|
+
pass #line:341:pass
|
|
233
|
+
def processing (O0OO0OO00000O0O00 ):#line:351:def processing(temp):
|
|
234
|
+
sys .stdout .write (O0OO0OO00000O0O00 )#line:352:sys.stdout.write(temp)
|
|
235
|
+
sys .stdout .flush ()#line:353:sys.stdout.flush()
|
|
236
|
+
def start (O000O0OO00000OO0O ,OO00O00OO0OO00O0O ):#line:355:def start(debugger,command):
|
|
237
|
+
processing ("processing")#line:357:processing("processing")
|
|
238
|
+
processing (".")#line:360:processing(".")
|
|
239
|
+
lz_log (1 )#line:363:lz_log(1)
|
|
240
|
+
O0000OO0OO0O0O00O =get_debug_file_path (OO00O00OO0OO00O0O )#line:364:debug_file_path = get_debug_file_path(command)
|
|
241
|
+
lz_log (O0000OO0OO0O0O00O )#line:365:lz_log(debug_file_path)
|
|
242
|
+
if O0000OO0OO0O0O00O ==None or len (O0000OO0OO0O0O00O )==0 :#line:366:if debug_file_path == None or len(debug_file_path) == 0:
|
|
243
|
+
lz_error (1 )#line:367:lz_error(1)
|
|
244
|
+
return #line:368:return
|
|
245
|
+
processing (".")#line:373:processing(".")
|
|
246
|
+
lz_log (2 )#line:374:lz_log(2)
|
|
247
|
+
O000OO000000O00OO =get_inis_info (O0000OO0OO0O0O00O )#line:375:project_info = get_inis_info(debug_file_path)
|
|
248
|
+
lz_log (O000OO000000O00OO )#line:376:lz_log(project_info)
|
|
249
|
+
if O000OO000000O00OO [0 ]==None or O000OO000000O00OO [1 ]==None :#line:377:if project_info[0] == None or project_info[1] == None:
|
|
250
|
+
lz_error (2 )#line:378:lz_error(2)
|
|
251
|
+
return #line:379:return
|
|
252
|
+
processing (".")#line:383:processing(".")
|
|
253
|
+
lz_log (3 )#line:384:lz_log(3)
|
|
254
|
+
O00O0000OO00O0OO0 =download_git_source_code (O000OO000000O00OO [0 ],O000OO000000O00OO [1 ])#line:385:source_code_path = download_git_source_code(project_info[0],project_info[1])
|
|
255
|
+
lz_log (O00O0000OO00O0OO0 )#line:386:lz_log(source_code_path)
|
|
256
|
+
if O00O0000OO00O0OO0 ==None or len (O00O0000OO00O0OO0 )==0 :#line:387:if source_code_path == None or len(source_code_path) == 0:
|
|
257
|
+
lz_error (3 )#line:388:lz_error(3)
|
|
258
|
+
return #line:389:return
|
|
259
|
+
processing (".")#line:393:processing(".")
|
|
260
|
+
lz_log (4 )#line:394:lz_log(4)
|
|
261
|
+
OO0O00OO0OOO0O00O =change_source_code_commit (O00O0000OO00O0OO0 )#line:395:isSuccess = change_source_code_commit(source_code_path)
|
|
262
|
+
lz_log (OO0O00OO0OOO0O00O )#line:396:lz_log(isSuccess)
|
|
263
|
+
if OO0O00OO0OOO0O00O ==False :#line:397:if isSuccess == False:
|
|
264
|
+
lz_error (4 )#line:398:lz_error(4)
|
|
265
|
+
return #line:399:return
|
|
266
|
+
processing (".")#line:403:processing(".")
|
|
267
|
+
lz_log (5 )#line:404:lz_log(5)
|
|
268
|
+
OO0O00OO0OOO0O00O =map_source_code (O00O0000OO00O0OO0 ,O0000OO0OO0O0O00O ,O000OO000000O00OO [0 ])#line:405:isSuccess = map_source_code(source_code_path,debug_file_path,project_info[0])
|
|
269
|
+
lz_log (OO0O00OO0OOO0O00O )#line:406:lz_log(isSuccess)
|
|
270
|
+
if OO0O00OO0OOO0O00O ==False :#line:407:if isSuccess == False:
|
|
271
|
+
lz_error (5 )#line:408:lz_error(5)
|
|
272
|
+
return #line:409:return
|
|
273
|
+
print (".")#line:413:print(".")
|
|
274
|
+
lz_log (6 )#line:414:lz_log(6)
|
|
275
|
+
OO0O00OO0OOO0O00O =adjustStackFrame (O000O0OO00000OO0O )#line:415:isSuccess = adjustStackFrame(debugger)
|
|
276
|
+
lz_log (OO0O00OO0OOO0O00O )#line:416:lz_log(isSuccess)
|
|
277
|
+
if OO0O00OO0OOO0O00O ==False :#line:417:if isSuccess == False:
|
|
278
|
+
lz_error (6 )#line:418:lz_error(6)
|
|
279
|
+
return #line:419:return
|
|
280
|
+
def help ():#line:422:def help():
|
|
281
|
+
print ("Usage:")#line:424:print("Usage:")
|
|
282
|
+
print (" isource memory_address eg:isource 0x8badf00d")#line:425:print(" isource memory_address eg:isource 0x8badf00d")
|
|
283
|
+
print ("Commands:")#line:427:print("Commands:")
|
|
284
|
+
print (" + help command help")#line:428:print(" + help command help")
|
|
285
|
+
print (" + clean clean cache")#line:429:print(" + clean clean cache")
|
|
286
|
+
pass #line:430:pass
|
|
287
|
+
def helloworld (O0O0OO0O0OO0O0O0O ,OO0O0OOO00000OOOO ,OOOO0000O0OOO0O00 ,OO0O0OO0OOO0000OO ):#line:433:def helloworld(debugger, command, result, internal_dict):
|
|
288
|
+
if OO0O0OOO00000OOOO ==None or OO0O0OOO00000OOOO =='-h':#line:435:if command == None or command == '-h':
|
|
289
|
+
help ()#line:436:help()
|
|
290
|
+
elif OO0O0OOO00000OOOO =='-c':#line:437:elif command == '-c':
|
|
291
|
+
clean (source_code_dir )#line:438:clean(source_code_dir)
|
|
292
|
+
elif re .match ('0x.*[a-z0-9]',OO0O0OOO00000OOOO )!=None :#line:439:elif re.match('0x.*[a-z0-9]', command) != None :
|
|
293
|
+
start (O0O0OO0O0OO0O0O0O ,OO0O0OOO00000OOOO )#line:440:start(debugger,command)
|
|
294
|
+
else :#line:441:else:
|
|
295
|
+
print ('error: '+OO0O0OOO00000OOOO +' is not a valid command.')#line:442:print('error: ' + command +' is not a valid command.')
|
|
296
|
+
help ()#line:443:help()
|
|
297
|
+
def __OOOOO0OO0000O00O0 (O0O00O0000O0O0O0O ,OO00O00OO00O0OO00 ):#line:446:def __lldb_init_module(debugger, internal_dict):
|
|
298
|
+
manage_source_dir ()#line:448:manage_source_dir()
|
|
299
|
+
manage_job_inis ()#line:452:manage_job_inis()
|
|
300
|
+
O0O00O0000O0O0O0O .HandleCommand ("command script add -f isource_lldb.helloworld isource")#line:454:debugger.HandleCommand("command script add -f isource_lldb.helloworld isource")
|
|
301
|
+
|
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.2.
|
|
4
|
+
version: 0.2.8
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- ningyuan
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2021-06-03 00:00:00.000000000 Z
|
|
12
12
|
dependencies: []
|
|
13
13
|
description: An plugin of LLDB.
|
|
14
14
|
email:
|