isource_lldb 0.3.2 → 0.3.5

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/setup +313 -223
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8e6e176eaf216555ccbfeb76c6d7873c1e04d95ec5d5db51b3398676d9ab90b3
4
- data.tar.gz: 4f9e61abfe4c98f6fa239225cbc107fec6c441d540f9649d6359c8f0f58a25bb
3
+ metadata.gz: 4ef9a16c3ff98ebb83981c4263f32a818f6e3102da0d10a98000ff68d28dd687
4
+ data.tar.gz: 68ad88b4fa34c3e095eb4489b13e3181d0ec1d067f02c447e50f5830edf6db5b
5
5
  SHA512:
6
- metadata.gz: 7a03f833930a24ec5a567fc4a1f2e6df46c0430be99badbacefca6cdeb469aaa69db1a2fef1d42b423fd50558bc1847cf1b5d363667128ec0e8a16ec78c3ffce
7
- data.tar.gz: 49c1478d42451671b97ce517f7a7b48ce11c28c948f4995cab0aa80035d1dd82c41e7c0e6801274321514badcdc6ece6421228d729a4e3545b4f3ad627ed7e92
6
+ metadata.gz: 778800d3f3dc6631682fea29e3ac596bbd211717dd06ece2dfd20ff97f1aa867756277c2cf54729cc5c699bcb06bbc1882928704ab9b86173cfd2390e44a188e
7
+ data.tar.gz: e59009673e142c6819dee3a734a16be90c20aa801caa158772fe21984a2d20d08a78be3761285e88706df93b3dddeeefd864835c613025a5f9fdd019daab9102
data/lib/setup CHANGED
@@ -16,287 +16,377 @@ 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 (O0OO0000O0000O000 ):#line:24
20
- print ("internal error code : "+str (O0OO0000O0000O000 ))#line:25
21
- def lz_log (O00O00O000OOO0O00 ):#line:27
19
+ def lz_error (O00OO000OOOOOOO00 ):#line:24
20
+ print ("internal error code : "+str (O00OO000OOOOOOO00 ))#line:25
21
+ def lz_log (O0OOO000O0OO00O0O ):#line:27
22
22
  pass #line:30
23
23
  def manage_source_dir ():#line:33
24
- OOO0O0O00O0OO00OO =os .path .exists (source_lldb_dir )#line:34
25
- if not OOO0O0O00O0OO00OO :#line:35
24
+ OOO0OO00OO0O00O0O =os .path .exists (source_lldb_dir )#line:34
25
+ if not OOO0OO00OO0O00O0O :#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
- OO0000OO0O00O00OO =os .path .exists (source_code_dir )#line:39
30
- if not OO0000OO0O00O00OO :#line:40
29
+ OO0OOOO00000OO00O =os .path .exists (source_code_dir )#line:39
30
+ if not OO0OOOO00000OO00O :#line:40
31
31
  os .makedirs (source_code_dir )#line:41
32
32
  def create_cache_file ():#line:44
33
- OO0OOO0OO0O000OOO =os .path .exists (project_info_cache )#line:45
34
- if not OO0OOO0OO0O000OOO :#line:46
35
- OOO0O0OOO0OO00000 =open (project_info_cache ,'w')#line:47
36
- OOO0O0OOO0OO00000 .close ()#line:48
37
- def write_cache_file (O0O0O0O0O00OOO000 ):#line:50
38
- if O0O0O0O0O00OOO000 [0 ]!=None and O0O0O0O0O00OOO000 [1 ]!=None and O0O0O0O0O00OOO000 [2 ]!=None and O0O0O0O0O00OOO000 [3 ]!=None :#line:51
39
- OO0000O0000OO0OO0 =list (O0O0O0O0O00OOO000 )#line:52
40
- O000OO000O00O0O00 ='---'.join (OO0000O0000OO0OO0 )#line:53
41
- OOO000000O0O00O00 =open (project_info_cache ,'a+')#line:54
42
- OOO000000O0O00O00 .write (O000OO000O00O0O00 +"\n")#line:55
43
- OOO000000O0O00O00 .close ()#line:56
44
- def read_cache_file (OOO0000OOOO00O00O ):#line:58
45
- O0OO0O0OO0O00000O =None #line:59
46
- with open (project_info_cache ,'r',encoding ='utf-8')as O00OO00O0OOOO0OO0 :#line:60
47
- OO00OO0O0O000OOOO =O00OO00O0OOOO0OO0 .readlines ()#line:61
48
- for O00OOOO0O0OOOOO00 in range (0 ,len (OO00OO0O0O000OOOO )):#line:62
49
- OO0000OO0OOOO000O =re .search (OOO0000OOOO00O00O ,OO00OO0O0O000OOOO [O00OOOO0O0OOOOO00 ])#line:63
50
- if OO0000OO0OOOO000O !=None :#line:64
51
- OO00O0OOOOO0OO000 =OO00OO0O0O000OOOO [O00OOOO0O0OOOOO00 ]#line:65
52
- O0OO0O000OOO0OO0O =OO00O0OOOOO0OO000 .split ('---')#line:66
53
- O0OO0O0OO0O00000O =tuple (O0OO0O000OOO0OO0O )#line:67
33
+ OOO00O00OOO0OOOO0 =os .path .exists (project_info_cache )#line:45
34
+ if not OOO00O00OOO0OOOO0 :#line:46
35
+ OO0OOOOO00OO00OOO =open (project_info_cache ,'w')#line:47
36
+ OO0OOOOO00OO00OOO .close ()#line:48
37
+ def write_cache_file (OO000OO00OO00OOOO ):#line:50
38
+ if OO000OO00OO00OOOO [0 ]!=None and OO000OO00OO00OOOO [1 ]!=None and OO000OO00OO00OOOO [2 ]!=None and OO000OO00OO00OOOO [3 ]!=None :#line:51
39
+ O000OOO000O0O0O0O =list (OO000OO00OO00OOOO )#line:52
40
+ OO0OOO0O000OOOOO0 ='---'.join (O000OOO000O0O0O0O )#line:53
41
+ O0OOOO00OOO0O0OO0 =open (project_info_cache ,'a+')#line:54
42
+ O0OOOO00OOO0O0OO0 .write (OO0OOO0O000OOOOO0 +"\n")#line:55
43
+ O0OOOO00OOO0O0OO0 .close ()#line:56
44
+ def read_cache_file (OOO000OO0OOOOOO00 ):#line:58
45
+ OOOO00O00OO0O000O =None #line:59
46
+ with open (project_info_cache ,'r',encoding ='utf-8')as OOO00O00O00O00OOO :#line:60
47
+ O0O000OO0O0OO000O =OOO00O00O00O00OOO .readlines ()#line:61
48
+ for OO000O0OO00OO0OOO in range (0 ,len (O0O000OO0O0OO000O )):#line:62
49
+ O0O0OO000OOO00O0O =re .search (OOO000OO0OOOOOO00 ,O0O000OO0O0OO000O [OO000O0OO00OO0OOO ])#line:63
50
+ if O0O0OO000OOO00O0O !=None :#line:64
51
+ OO0O000OO00O0OO0O =O0O000OO0O0OO000O [OO000O0OO00OO0OOO ]#line:65
52
+ OO0OO00OOOO00000O =OO0O000OO00O0OO0O .split ('---')#line:66
53
+ OOOO00O00OO0O000O =tuple (OO0OO00OOOO00000O )#line:67
54
54
  break #line:68
55
- return O0OO0O0OO0O00000O #line:69
55
+ return OOOO00O00OO0O000O #line:69
56
56
  def manage_job_inis ():#line:72
57
- OOO0O0O00000O000O =os .path .exists (drrr_job_inis_dir )#line:73
58
- if OOO0O0O00000O000O ==True :#line:74
59
- O0OO0OOOOOOOO0O0O ="cd "+drrr_job_inis_dir +"; git pull"#line:75
60
- O0000OO000O00O00O =os .popen (O0OO0OOOOOOOO0O0O )#line:76
61
- OO000OOO0O00OO00O =O0000OO000O00O00O .read ()#line:77
62
- O000OO00O0000O00O =re .search ("fatal",OO000OOO0O00OO00O )#line:78
63
- if O000OO00O0000O00O !=None :#line:79
57
+ OO0O000OO0OOO0OO0 =os .path .exists (drrr_job_inis_dir )#line:73
58
+ if OO0O000OO0OOO0OO0 ==True :#line:74
59
+ OO0OO00OOO0OOO0O0 ="cd "+drrr_job_inis_dir +"; git pull"#line:75
60
+ O0000OOO00000OO0O =os .popen (OO0OO00OOO0OOO0O0 )#line:76
61
+ OO0O00OOO000O0000 =O0000OOO00000OO0O .read ()#line:77
62
+ OOOOO0000O0000O00 =re .search ("fatal",OO0O00OOO000O0000 )#line:78
63
+ if OOOOO0000O0000O00 !=None :#line:79
64
64
  lz_error (0 )#line:80
65
65
  else :#line:81
66
- O0O00OO0OO0O0OO00 ="git clone "+drrr_job_inis_addr +" "+drrr_job_inis_dir #line:82
67
- O0000OO000O00O00O =os .popen (O0O00OO0OO0O0OO00 )#line:83
68
- OO000OOO0O00OO00O =O0000OO000O00O00O .read ()#line:84
69
- O000OO00O0000O00O =re .search ("fatal",OO000OOO0O00OO00O )#line:85
70
- if O000OO00O0000O00O !=None :#line:86
66
+ OOOO00OOO0O000O0O ="git clone "+drrr_job_inis_addr +" "+drrr_job_inis_dir #line:82
67
+ O0000OOO00000OO0O =os .popen (OOOO00OOO0O000O0O )#line:83
68
+ OO0O00OOO000O0000 =O0000OOO00000OO0O .read ()#line:84
69
+ OOOOO0000O0000O00 =re .search ("fatal",OO0O00OOO000O0000 )#line:85
70
+ if OOOOO0000O0000O00 !=None :#line:86
71
71
  lz_error (0 )#line:87
72
- def get_debug_file_path (OO0OO000O0OOO0O00 ):#line:90
73
- O00OO00O0O0O000OO =lldb .debugger .GetCommandInterpreter ()#line:91
74
- OO00O00OO0OO00OOO =lldb .SBCommandReturnObject ()#line:92
75
- O00OO00O0O0O000OO .HandleCommand ('image lookup -v --address '+OO0OO000O0OOO0O00 ,OO00O00OO0OO00OOO )#line:93
76
- OOOOO0O0OOO0OO0O0 =OO00O00OO0OO00OOO .GetOutput ()#line:94
77
- O00O0O0OO0OO000OO =""#line:96
78
- O0OO00OO00000O00O =re .search ('error',OOOOO0O0OOO0OO0O0 )#line:97
79
- if O0OO00OO00000O00O !=None :#line:98
80
- return O00O0O0OO0OO000OO #line:99
81
- OO00OOOOOO000000O =OOOOO0O0OOO0OO0O0 .split ("\n")#line:102
82
- if len (OO00OOOOOO000000O )>3 :#line:103
83
- OOO0OOO0O000OOOO0 =OO00OOOOOO000000O [3 ].strip ()#line:104
84
- O0000OOO000O0OO0O =OOO0OOO0O000OOOO0 .split (",")#line:106
85
- if len (O0000OOO000O0OO0O )>1 :#line:107
86
- O00000OOO0OO000OO =O0000OOO000O0OO0O [1 ].strip ()#line:108
87
- OOO00O0OO00OO0OO0 =O00000OOO0OO000OO .split ("=")#line:110
88
- if len (OOO00O0OO00OO0OO0 )>1 :#line:111
89
- OO0O00OOO0O0O0O0O =OOO00O0OO00OO0OO0 [1 ].strip ()#line:112
90
- O00O0O0OO0OO000OO =OO0O00OOO0O0O0O0O .replace ('\"','')#line:114
91
- return O00O0O0OO0OO000OO #line:116
92
- def get_inis_info (O00OO0O00O0O0OO00 ):#line:119
93
- O000OO0OOOO00OO0O =None #line:121
94
- O0O0OOO00OO0O0O00 =None #line:122
95
- O0OO00O00000000OO =None #line:123
96
- O00O0O0OO0O00OO00 =None #line:124
97
- O0O00OOOOO00OO0OO =O00OO0O00O0O0OO00 .split ("/")#line:127
98
- for O0OOOO00OOOO000O0 in range (0 ,len (O0O00OOOOO00OO0OO )):#line:128
99
- if O0O00OOOOO00OO0OO [O0OOOO00OOOO000O0 ]=="MODULE_DIR":#line:129
100
- O0O0OOO00OO0O0O00 =O0O00OOOOO00OO0OO [O0OOOO00OOOO000O0 +1 ]#line:130
101
- O000OO0OOOO00OO0O =O0O00OOOOO00OO0OO [O0OOOO00OOOO000O0 +1 ]#line:131
72
+ def get_debug_file_path (OOOOO0OO000000O0O ):#line:90
73
+ O0OO000OOO0OOOO0O =lldb .debugger .GetCommandInterpreter ()#line:91
74
+ O00000O0O00OOO000 =lldb .SBCommandReturnObject ()#line:92
75
+ O0OO000OOO0OOOO0O .HandleCommand ('image lookup -v --address '+OOOOO0OO000000O0O ,O00000O0O00OOO000 )#line:93
76
+ OO0OOOO0OO00OO0O0 =O00000O0O00OOO000 .GetOutput ()#line:94
77
+ O0O0OOO0OOOOO0OOO =""#line:96
78
+ OO00O0000O00O00OO =re .search ('error',OO0OOOO0OO00OO0O0 )#line:97
79
+ if OO00O0000O00O00OO !=None :#line:98
80
+ return O0O0OOO0OOOOO0OOO #line:99
81
+ OOOOOOOO000OOOO00 =OO0OOOO0OO00OO0O0 .split ("\n")#line:102
82
+ if len (OOOOOOOO000OOOO00 )>3 :#line:103
83
+ OOO0OOOOO00O000O0 =OOOOOOOO000OOOO00 [3 ].strip ()#line:104
84
+ O000OO0O0O00O000O =OOO0OOOOO00O000O0 .split (",")#line:106
85
+ if len (O000OO0O0O00O000O )>1 :#line:107
86
+ OO000OOOO0OO00000 =O000OO0O0O00O000O [1 ].strip ()#line:108
87
+ O0O0OOO0O0O0OOO0O =OO000OOOO0OO00000 .split ("=")#line:110
88
+ if len (O0O0OOO0O0O0OOO0O )>1 :#line:111
89
+ O00O0O000O0OO00OO =O0O0OOO0O0O0OOO0O [1 ].strip ()#line:112
90
+ O0O0OOO0OOOOO0OOO =O00O0O000O0OO00OO .replace ('\"','')#line:114
91
+ return O0O0OOO0OOOOO0OOO #line:116
92
+ def get_inis_info (OO00000000OO0OO00 ):#line:119
93
+ O0OO00O000OOOOOO0 =None #line:121
94
+ OO0OO00O0OOO00OO0 =None #line:122
95
+ OO0O0O0OOOO00OO00 =None #line:123
96
+ O000OOO0OO00OOOO0 =None #line:124
97
+ O0OOOOOOOOOOOOOO0 =OO00000000OO0OO00 .split ("/")#line:127
98
+ for OOOO00000O000000O in range (0 ,len (O0OOOOOOOOOOOOOO0 )):#line:128
99
+ if O0OOOOOOOOOOOOOO0 [OOOO00000O000000O ]=="MODULE_DIR":#line:129
100
+ OO0OO00O0OOO00OO0 =O0OOOOOOOOOOOOOO0 [OOOO00000O000000O +1 ]#line:130
101
+ O0OO00O000OOOOOO0 =O0OOOOOOOOOOOOOO0 [OOOO00000O000000O +1 ]#line:131
102
102
  break #line:132
103
- if O0O0OOO00OO0O0O00 !=None and len (O0O0OOO00OO0O0O00 )>0 :#line:139
104
- OOO000OOOO000OOO0 =os .listdir (drrr_job_inis_dir_modules )#line:140
105
- for O0OOOO00OOOO000O0 in range (0 ,len (OOO000OOOO000OOO0 )):#line:141
106
- OO00OO0O00O00O0O0 =drrr_job_inis_dir_modules +"/"+OOO000OOOO000OOO0 [O0OOOO00OOOO000O0 ]#line:142
107
- with open (OO00OO0O00O00O0O0 ,'r',encoding ='utf-8')as OO00OO0000OO0O00O :#line:144
108
- OO000O000O0O00OO0 =OO00OO0000OO0O00O .readlines ()#line:145
109
- for O0OOOO00OOOO000O0 in range (0 ,len (OO000O000O0O00OO0 )):#line:146
110
- OOO000O0OO000O00O =re .search (O0O0OOO00OO0O0O00 ,OO000O000O0O00OO0 [O0OOOO00OOOO000O0 ])#line:147
111
- if OOO000O0OO000O00O !=None :#line:148
112
- O0OO00O00000000OO =OOO000OOOO000OOO0 [O0OOOO00OOOO000O0 ]#line:149
113
- O0O0OO0O0OO0O0000 =O0OOOO00OOOO000O0 -5 if O0OOOO00OOOO000O0 >5 else 0 #line:150
114
- OOO0O00OOOOO0000O =O0OOOO00OOOO000O0 +5 if O0OOOO00OOOO000O0 +5 <len (OO000O000O0O00OO0 )else len (OO000O000O0O00OO0 )#line:151
115
- for O000OOOOOOO000OO0 in range (O0O0OO0O0OO0O0000 ,OOO0O00OOOOO0000O ):#line:152
116
- O0O00000OO0O00OO0 =re .findall ("ssh://git@gitlab.qiyi.domain:[^/]+?/.*?"+O000OO0OOOO00OO0O +"*?[^0~9]?.git",OO000O000O0O00OO0 [O000OOOOOOO000OO0 ])#line:153
117
- if len (O0O00000OO0O00OO0 )>0 :#line:154
118
- O00O0O0OO0O00OO00 =O0O00000OO0O00OO0 [0 ]#line:155
103
+ if OO0OO00O0OOO00OO0 !=None and len (OO0OO00O0OOO00OO0 )>0 :#line:139
104
+ OOO0O0000O000OOOO =os .listdir (drrr_job_inis_dir_modules )#line:140
105
+ for OOOO00000O000000O in range (0 ,len (OOO0O0000O000OOOO )):#line:141
106
+ OOOOOO0OO0O00O00O =drrr_job_inis_dir_modules +"/"+OOO0O0000O000OOOO [OOOO00000O000000O ]#line:142
107
+ with open (OOOOOO0OO0O00O00O ,'r',encoding ='utf-8')as O0O0O0O0O000OOOOO :#line:144
108
+ O000OO0O0OO00OOOO =O0O0O0O0O000OOOOO .readlines ()#line:145
109
+ for OOOO00000O000000O in range (0 ,len (O000OO0O0OO00OOOO )):#line:146
110
+ O0O00OOO00O00O000 =re .search (OO0OO00O0OOO00OO0 ,O000OO0O0OO00OOOO [OOOO00000O000000O ])#line:147
111
+ if O0O00OOO00O00O000 !=None :#line:148
112
+ OO0O0O0OOOO00OO00 =OOO0O0000O000OOOO [OOOO00000O000000O ]#line:149
113
+ OO000OOOO00OOO000 =OOOO00000O000000O -5 if OOOO00000O000000O >5 else 0 #line:150
114
+ O0OO000OO0OOO0O0O =OOOO00000O000000O +5 if OOOO00000O000000O +5 <len (O000OO0O0OO00OOOO )else len (O000OO0O0OO00OOOO )#line:151
115
+ for OOOOOOOO0O0O000O0 in range (OO000OOOO00OOO000 ,O0OO000OO0OOO0O0O ):#line:152
116
+ OOO000000O00O00O0 =re .findall ("ssh://git@gitlab.qiyi.domain:[^/]+?/.*?"+O0OO00O000OOOOOO0 +"*?[^0~9]?.git",O000OO0O0OO00OOOO [OOOOOOOO0O0O000O0 ])#line:153
117
+ if len (OOO000000O00O00O0 )>0 :#line:154
118
+ O000OOO0OO00OOOO0 =OOO000000O00O00O0 [0 ]#line:155
119
119
  break #line:156
120
- if O00O0O0OO0O00OO00 !=None :#line:157
120
+ if O000OOO0OO00OOOO0 !=None :#line:157
121
121
  break #line:158
122
- if O00O0O0OO0O00OO00 !=None :#line:159
122
+ if O000OOO0OO00OOOO0 !=None :#line:159
123
123
  break #line:160
124
- return (O000OO0OOOO00OO0O ,O00O0O0OO0O00OO00 )#line:179
125
- def download_git_source_code (O00O0000OO00OO000 ,O0O0000OO0O0OO0OO ):#line:183
126
- O0OOO0000OOOO00O0 =source_code_dir +"/"+O00O0000OO00OO000 #line:184
127
- OO000000O0O00OO00 =os .path .exists (O0OOO0000OOOO00O0 )#line:185
128
- if not OO000000O0O00OO00 :#line:187
129
- os .makedirs (O0OOO0000OOOO00O0 )#line:188
130
- O0OO0OOO000OO0OOO ="git clone "+O0O0000OO0O0OO0OO +" "+O0OOO0000OOOO00O0 #line:189
131
- O000OO00O0OOOOO0O =os .popen (O0OO0OOO000OO0OOO )#line:190
132
- O0OO0OOO0O0O000OO =O000OO00O0OOOOO0O .read ()#line:191
133
- O00000O000OOOO00O =re .search ("fatal",O0OO0OOO0O0O000OO )#line:192
134
- if O00000O000OOOO00O !=None :#line:193
124
+ return (O0OO00O000OOOOOO0 ,O000OOO0OO00OOOO0 )#line:179
125
+ def download_git_source_code (O0OOO0OOO0O000OOO ,OO0000O0O0O0O0O00 ):#line:183
126
+ O00OOOO0O0OO0O0O0 =source_code_dir +"/"+O0OOO0OOO0O000OOO #line:184
127
+ O0000OOOOOO00000O =os .path .exists (O00OOOO0O0OO0O0O0 )#line:185
128
+ if not O0000OOOOOO00000O :#line:187
129
+ os .makedirs (O00OOOO0O0OO0O0O0 )#line:188
130
+ OOOOOO0OO0OOOOOO0 ="git clone "+OO0000O0O0O0O0O00 +" "+O00OOOO0O0OO0O0O0 #line:189
131
+ O0OOOOOOOO0000O00 =os .popen (OOOOOO0OO0OOOOOO0 )#line:190
132
+ O00OO00OO0OOOO0O0 =O0OOOOOOOO0000O00 .read ()#line:191
133
+ O00O0OO00000OOO0O =re .search ("fatal",O00OO00OO0OOOO0O0 )#line:192
134
+ if O00O0OO00000OOO0O !=None :#line:193
135
135
  return ""#line:194
136
136
  else :#line:195
137
- O000000O0OOO0OO00 ="cd "+O0OOO0000OOOO00O0 +"; git pull"#line:196
138
- O000OO00O0OOOOO0O =os .popen (O000000O0OOO0OO00 )#line:197
139
- O0OO0OOO0O0O000OO =O000OO00O0OOOOO0O .read ()#line:198
140
- O00000O000OOOO00O =re .search ("fatal",O0OO0OOO0O0O000OO )#line:199
141
- if O00000O000OOOO00O !=None :#line:200
137
+ OO0O0O00O0OOO00OO ="cd "+O00OOOO0O0OO0O0O0 +"; git pull"#line:196
138
+ O0OOOOOOOO0000O00 =os .popen (OO0O0O00O0OOO00OO )#line:197
139
+ O00OO00OO0OOOO0O0 =O0OOOOOOOO0000O00 .read ()#line:198
140
+ O00O0OO00000OOO0O =re .search ("fatal",O00OO00OO0OOOO0O0 )#line:199
141
+ if O00O0OO00000OOO0O !=None :#line:200
142
142
  return ""#line:201
143
- return O0OOO0000OOOO00O0 #line:203
143
+ return O00OOOO0O0OO0O0O0 #line:203
144
144
  def get_update_time ():#line:206
145
- OOO000OO00OO0000O =user_dir +"/.cocoapods/repos/qiyi-podspecs/"#line:208
146
- OOO00O000OO0OOO00 =os .path .getmtime (OOO000OO00OO0000O )#line:209
147
- OOOO0OOOO00O0OOO0 =time .localtime (OOO00O000OO0OOO00 )#line:210
148
- O00O0O00O00OOO000 =time .strftime ("%m %d %H:%M:%S %Y",OOOO0OOOO00O0OOO0 )#line:213
149
- O0OOOO000O00O0OO0 =O00O0O00O00OOO000 .split (" ")#line:214
150
- OO0O000O0OO0O0OO0 =O0OOOO000O00O0OO0 [0 ]#line:215
151
- if OO0O000O0OO0O0OO0 =='1':#line:217
152
- OO0O000O0OO0O0OO0 ='Jan'#line:218
153
- if OO0O000O0OO0O0OO0 =='2':#line:219
154
- OO0O000O0OO0O0OO0 ='Feb'#line:220
155
- if OO0O000O0OO0O0OO0 =='3':#line:221
156
- OO0O000O0OO0O0OO0 ='Mar'#line:222
157
- if OO0O000O0OO0O0OO0 =='4':#line:223
158
- OO0O000O0OO0O0OO0 ='Apr'#line:224
159
- if OO0O000O0OO0O0OO0 =='5':#line:225
160
- OO0O000O0OO0O0OO0 ='May'#line:226
161
- if OO0O000O0OO0O0OO0 =='6':#line:227
162
- OO0O000O0OO0O0OO0 ='Jun'#line:228
163
- if OO0O000O0OO0O0OO0 =='7':#line:229
164
- OO0O000O0OO0O0OO0 ='Jul'#line:230
165
- if OO0O000O0OO0O0OO0 =='8':#line:231
166
- OO0O000O0OO0O0OO0 ='Aug'#line:232
167
- if OO0O000O0OO0O0OO0 =='9':#line:233
168
- OO0O000O0OO0O0OO0 ='Sep'#line:234
169
- if OO0O000O0OO0O0OO0 =='10':#line:235
170
- OO0O000O0OO0O0OO0 ='Oct'#line:236
171
- if OO0O000O0OO0O0OO0 =='11':#line:237
172
- OO0O000O0OO0O0OO0 ='Nov'#line:238
173
- if OO0O000O0OO0O0OO0 =='12':#line:239
174
- OO0O000O0OO0O0OO0 ='Dec'#line:240
175
- O0OOOO000O00O0OO0 [0 ]=OO0O000O0OO0O0OO0 #line:242
176
- return ' '.join (O0OOOO000O00O0OO0 )#line:244
177
- def change_source_code_commit (OO0000OOO0000O0OO ):#line:247
178
- O0O0OO0OOOOOO0O00 =get_update_time ()#line:250
179
- OOO00OO00OO00O0O0 ="cd "+OO0000OOO0000O0OO +"; git rev-list -n 1 --before=\""+O0O0OO0OOOOOO0O00 +"\" master"#line:252
180
- OO0O00O0OO0OO00OO =os .popen (OOO00OO00OO00O0O0 )#line:253
181
- OO00OO00O0OOO0OOO =OO0O00O0OO0OO00OO .read ()#line:254
182
- OO0OOOO00OO000O00 =re .search ("fatal",OO00OO00O0OOO0OOO )#line:255
183
- if OO0OOOO00OO000O00 !=None :#line:256
145
+ OOO00OOO0OOOO00O0 =user_dir +"/.cocoapods/repos/qiyi-podspecs/"#line:208
146
+ OOO000OOOOO0OO0O0 =os .path .getmtime (OOO00OOO0OOOO00O0 )#line:209
147
+ OO00O0OO0000OO000 =time .localtime (OOO000OOOOO0OO0O0 )#line:210
148
+ OO0OOOO0O00OOOO00 =time .strftime ("%m %d %H:%M:%S %Y",OO00O0OO0000OO000 )#line:213
149
+ OOO0O000OO00OO000 =OO0OOOO0O00OOOO00 .split (" ")#line:214
150
+ OO00O000O0O00OO0O =OOO0O000OO00OO000 [0 ]#line:215
151
+ if OO00O000O0O00OO0O =='1':#line:217
152
+ OO00O000O0O00OO0O ='Jan'#line:218
153
+ if OO00O000O0O00OO0O =='2':#line:219
154
+ OO00O000O0O00OO0O ='Feb'#line:220
155
+ if OO00O000O0O00OO0O =='3':#line:221
156
+ OO00O000O0O00OO0O ='Mar'#line:222
157
+ if OO00O000O0O00OO0O =='4':#line:223
158
+ OO00O000O0O00OO0O ='Apr'#line:224
159
+ if OO00O000O0O00OO0O =='5':#line:225
160
+ OO00O000O0O00OO0O ='May'#line:226
161
+ if OO00O000O0O00OO0O =='6':#line:227
162
+ OO00O000O0O00OO0O ='Jun'#line:228
163
+ if OO00O000O0O00OO0O =='7':#line:229
164
+ OO00O000O0O00OO0O ='Jul'#line:230
165
+ if OO00O000O0O00OO0O =='8':#line:231
166
+ OO00O000O0O00OO0O ='Aug'#line:232
167
+ if OO00O000O0O00OO0O =='9':#line:233
168
+ OO00O000O0O00OO0O ='Sep'#line:234
169
+ if OO00O000O0O00OO0O =='10':#line:235
170
+ OO00O000O0O00OO0O ='Oct'#line:236
171
+ if OO00O000O0O00OO0O =='11':#line:237
172
+ OO00O000O0O00OO0O ='Nov'#line:238
173
+ if OO00O000O0O00OO0O =='12':#line:239
174
+ OO00O000O0O00OO0O ='Dec'#line:240
175
+ OOO0O000OO00OO000 [0 ]=OO00O000O0O00OO0O #line:242
176
+ return ' '.join (OOO0O000OO00OO000 )#line:244
177
+ def change_source_code_commit (OO00OOOOO0OO0OOO0 ):#line:247
178
+ OOO0O0OOOO0O00OO0 =get_update_time ()#line:250
179
+ OOO00OOO0000OO000 ="cd "+OO00OOOOO0OO0OOO0 +"; git rev-list -n 1 --before=\""+OOO0O0OOOO0O00OO0 +"\" master"#line:252
180
+ OOO00O00OO0000O0O =os .popen (OOO00OOO0000OO000 )#line:253
181
+ OO000OOOO00OO0O0O =OOO00O00OO0000O0O .read ()#line:254
182
+ OO0OO0O00OO0OOOOO =re .search ("fatal",OO000OOOO00OO0O0O )#line:255
183
+ if OO0OO0O00OO0OOOOO !=None :#line:256
184
184
  return False #line:257
185
185
  else :#line:258
186
186
  return True #line:259
187
- def checkError (O0OO000OOO0000O0O ,OOOO0O000OO000OOO ):#line:261
188
- OO0OO0OO00O00O00O =re .search (OOOO0O000OO000OOO ,O0OO000OOO0000O0O )#line:262
189
- if OO0OO0OO00O00O00O ==None :#line:263
187
+ def checkError (O000000O0OOO0OO00 ,O0O000O00000O000O ):#line:261
188
+ OOO0000OOOO0OOO00 =re .search (O0O000O00000O000O ,O000000O0OOO0OO00 )#line:262
189
+ if OOO0000OOOO0OOO00 ==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 (O0OO00O0OOOO0OOOO ,O000OOOOO0000OOO0 ,OOO0000O00O000O00 ):#line:269
194
- O00O000OOO00OO0OO =O000OOOOO0000OOO0 .split (OOO0000O00O000O00 )#line:270
195
- OOOO0O0O0O0OO0O0O =O00O000OOO00OO0OO [0 ]#line:271
196
- O00O00O0O0O0OO0O0 =lldb .debugger .GetCommandInterpreter ()#line:272
197
- O000O0OOOOOO00OOO =lldb .SBCommandReturnObject ()#line:273
198
- O00O00O0O0O0OO0O0 .HandleCommand ("settings append target.source-map "+OOOO0O0O0O0OO0O0O +" "+O0OO00O0OOOO0OOOO ,O000O0OOOOOO00OOO )#line:274
199
- O00O00O0O0O0OO00O =O000O0OOOOOO00OOO .GetOutput ()#line:275
200
- OO0OO0OOO0O0O0OO0 =re .search ('error',O00O00O0O0O0OO00O )#line:276
201
- if OO0OO0OOO0O0O0OO0 ==None :#line:277
193
+ def map_source_code (OOOOOOO0O0O0O0000 ,O00000O00OOO0OO0O ,OOOOO0O00OO0O000O ):#line:269
194
+ O00O00O0O00OOO00O =O00000O00OOO0OO0O .split (OOOOO0O00OO0O000O )#line:270
195
+ OOOO00OOO00OO000O =O00O00O0O00OOO00O [0 ]#line:271
196
+ OOO000O0OOOOO0O0O =lldb .debugger .GetCommandInterpreter ()#line:272
197
+ O00O0O0OOOO00OOOO =lldb .SBCommandReturnObject ()#line:273
198
+ OOO000O0OOOOO0O0O .HandleCommand ("settings append target.source-map "+OOOO00OOO00OO000O +" "+OOOOOOO0O0O0O0000 ,O00O0O0OOOO00OOOO )#line:274
199
+ O00O0OOO0OOOO0OO0 =O00O0O0OOOO00OOOO .GetOutput ()#line:275
200
+ OO0O000O0OOO0OOOO =re .search ('error',O00O0OOO0OOOO0OO0 )#line:276
201
+ if OO0O000O0OOO0OOOO ==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 (O0000OO0O0OO000O0 ):#line:283
205
+ def thread_step_inst (O0OOO0OO00OO000O0 ):#line:283
206
206
  pass #line:284
207
- def adjustStackFrame (O00OO0000000O0O00 ):#line:287
208
- O00OO0000000O0O00 .SetAsync (True )#line:298
209
- OOO0O0OOOOOOO0OOO =O00OO0000000O0O00 .GetSelectedTarget ().GetProcess ().GetSelectedThread ()#line:303
210
- OO0OOO0O00OO0O0OO =OOO0O0OOOOOOO0OOO .GetSelectedFrame ().GetFrameID ()#line:304
211
- OO0OOOO0O00OOOOOO =lldb .debugger .GetCommandInterpreter ()#line:306
212
- OOO000OOOOO0OO0OO =lldb .SBCommandReturnObject ()#line:307
213
- OO0OOOO0O00OOOOOO .HandleCommand ("thread step-inst",OOO000OOOOO0OO0OO )#line:311
214
- OO0OO00OOO0O0000O =OOO000OOOOO0OO0OO .GetOutput ()#line:312
215
- OOOOO00O0OO00OOO0 =re .search ('error',OO0OO00OOO0O0000O )#line:313
216
- if OOOOO00O0OO00OOO0 !=None :#line:314
207
+ def adjustStackFrame (O0O0O0O00000OOO0O ):#line:287
208
+ O0O0O0O00000OOO0O .SetAsync (True )#line:298
209
+ OOOO00OOOO0O00OOO =O0O0O0O00000OOO0O .GetSelectedTarget ().GetProcess ().GetSelectedThread ()#line:303
210
+ O0OOOO0O000OOO000 =OOOO00OOOO0O00OOO .GetSelectedFrame ().GetFrameID ()#line:304
211
+ O00O0000OOOO0OOO0 =lldb .debugger .GetCommandInterpreter ()#line:306
212
+ O0OOOOOO00O00O0O0 =lldb .SBCommandReturnObject ()#line:307
213
+ O00O0000OOOO0OOO0 .HandleCommand ("thread step-inst",O0OOOOOO00O00O0O0 )#line:311
214
+ OO0O00OO0000O0OOO =O0OOOOOO00O00O0O0 .GetOutput ()#line:312
215
+ O0OO000O0O0O0000O =re .search ('error',OO0O00OO0000O0OOO )#line:313
216
+ if O0OO000O0O0O0000O !=None :#line:314
217
217
  return False #line:315
218
218
  time .sleep (0.2 )#line:316
219
- OO0OOOO0O00OOOOOO .HandleCommand ("thread step-over",OOO000OOOOO0OO0OO )#line:317
219
+ O00O0000OOOO0OOO0 .HandleCommand ("thread step-over",O0OOOOOO00O00O0O0 )#line:317
220
220
  time .sleep (0.5 )#line:318
221
- OO0OOOO0O00OOOOOO .HandleCommand ("frame select "+str (OO0OOO0O00OO0O0OO ),OOO000OOOOO0OO0OO )#line:327
222
- OO0OO00OOO0O0000O =OOO000OOOOO0OO0OO .GetOutput ()#line:328
223
- OOOOO00O0OO00OOO0 =re .search ('error',OO0OO00OOO0O0000O )#line:329
224
- if OOOOO00O0OO00OOO0 !=None :#line:331
221
+ O00O0000OOOO0OOO0 .HandleCommand ("frame select "+str (O0OOOO0O000OOO000 ),O0OOOOOO00O00O0O0 )#line:327
222
+ OO0O00OO0000O0OOO =O0OOOOOO00O00O0O0 .GetOutput ()#line:328
223
+ O0OO000O0O0O0000O =re .search ('error',OO0O00OO0000O0OOO )#line:329
224
+ if O0OO000O0O0O0000O !=None :#line:331
225
225
  return False #line:332
226
- def clean (OO00O000000O00OOO ):#line:334
227
- O0O000000OOO00OOO =os .listdir (OO00O000000O00OOO )#line:335
228
- for O00OOO0O000O0OOOO in O0O000000OOO00OOO :#line:336
229
- O00O00OO0O0OOOOOO =os .path .join (OO00O000000O00OOO ,O00OOO0O000O0OOOO )#line:337
230
- if os .path .isfile (O00O00OO0O0OOOOOO ):#line:338
231
- os .remove (O00O00OO0O0OOOOOO )#line:339
232
- elif os .path .isdir (O00O00OO0O0OOOOOO ):#line:340
233
- shutil .rmtree (O00O00OO0O0OOOOOO )#line:341
226
+ def clean (O00O0O00OOOO00O00 ):#line:334
227
+ O0OOO0O0O000OO0O0 =os .listdir (O00O0O00OOOO00O00 )#line:335
228
+ for O000O0OO0OO00OO0O in O0OOO0O0O000OO0O0 :#line:336
229
+ OOOO0000OO0OOO00O =os .path .join (O00O0O00OOOO00O00 ,O000O0OO0OO00OO0O )#line:337
230
+ if os .path .isfile (OOOO0000OO0OOO00O ):#line:338
231
+ os .remove (OOOO0000OO0OOO00O )#line:339
232
+ elif os .path .isdir (OOOO0000OO0OOO00O ):#line:340
233
+ shutil .rmtree (OOOO0000OO0OOO00O )#line:341
234
234
  pass #line:342
235
- def processing (OOO000OO0O0OO0O0O ):#line:352
236
- sys .stdout .write (OOO000OO0O0OO0O0O )#line:353
235
+ def processing (O00O0000OO0OO0000 ):#line:352
236
+ sys .stdout .write (O00O0000OO0OO0000 )#line:353
237
237
  sys .stdout .flush ()#line:354
238
- def start (O0OO00O00O00O0000 ,OOO0O0OO0OO0O0O00 ):#line:356
238
+ def start (O0000O0OO0OO00O00 ,OO000O00OOOO0O0O0 ):#line:356
239
239
  processing ("processing")#line:358
240
240
  processing (".")#line:361
241
241
  lz_log (1 )#line:364
242
- OO00000000O00OOOO =get_debug_file_path (OOO0O0OO0OO0O0O00 )#line:365
243
- lz_log (OO00000000O00OOOO )#line:366
244
- if OO00000000O00OOOO ==None or len (OO00000000O00OOOO )==0 :#line:367
242
+ OOOO0000O0OOOO0OO =get_debug_file_path (OO000O00OOOO0O0O0 )#line:365
243
+ lz_log (OOOO0000O0OOOO0OO )#line:366
244
+ if OOOO0000O0OOOO0OO ==None or len (OOOO0000O0OOOO0OO )==0 :#line:367
245
245
  lz_error (1 )#line:368
246
246
  return #line:369
247
247
  processing (".")#line:374
248
248
  lz_log (2 )#line:375
249
- O000OOOO0000OO000 =get_inis_info (OO00000000O00OOOO )#line:376
250
- lz_log (O000OOOO0000OO000 )#line:377
251
- if O000OOOO0000OO000 [0 ]==None or O000OOOO0000OO000 [1 ]==None :#line:378
249
+ OO0OOOOOO0O000OO0 =get_inis_info (OOOO0000O0OOOO0OO )#line:376
250
+ lz_log (OO0OOOOOO0O000OO0 )#line:377
251
+ if OO0OOOOOO0O000OO0 [0 ]==None or OO0OOOOOO0O000OO0 [1 ]==None :#line:378
252
252
  lz_error (2 )#line:379
253
253
  return #line:380
254
254
  processing (".")#line:384
255
255
  lz_log (3 )#line:385
256
- OO0000OO00OOOOO0O =download_git_source_code (O000OOOO0000OO000 [0 ],O000OOOO0000OO000 [1 ])#line:386
257
- lz_log (OO0000OO00OOOOO0O )#line:387
258
- if OO0000OO00OOOOO0O ==None or len (OO0000OO00OOOOO0O )==0 :#line:388
256
+ OOOOO0O0OO0OOOO00 =download_git_source_code (OO0OOOOOO0O000OO0 [0 ],OO0OOOOOO0O000OO0 [1 ])#line:386
257
+ lz_log (OOOOO0O0OO0OOOO00 )#line:387
258
+ if OOOOO0O0OO0OOOO00 ==None or len (OOOOO0O0OO0OOOO00 )==0 :#line:388
259
259
  lz_error (3 )#line:389
260
260
  return #line:390
261
261
  processing (".")#line:394
262
262
  lz_log (4 )#line:395
263
- OO0000000O000OO00 =change_source_code_commit (OO0000OO00OOOOO0O )#line:396
264
- lz_log (OO0000000O000OO00 )#line:397
265
- if OO0000000O000OO00 ==False :#line:398
263
+ O00O00O0OOOOOOOOO =change_source_code_commit (OOOOO0O0OO0OOOO00 )#line:396
264
+ lz_log (O00O00O0OOOOOOOOO )#line:397
265
+ if O00O00O0OOOOOOOOO ==False :#line:398
266
266
  lz_error (4 )#line:399
267
267
  return #line:400
268
268
  processing (".")#line:404
269
269
  lz_log (5 )#line:405
270
- OO0000000O000OO00 =map_source_code (OO0000OO00OOOOO0O ,OO00000000O00OOOO ,O000OOOO0000OO000 [0 ])#line:406
271
- lz_log (OO0000000O000OO00 )#line:407
272
- if OO0000000O000OO00 ==False :#line:408
270
+ O00O00O0OOOOOOOOO =map_source_code (OOOOO0O0OO0OOOO00 ,OOOO0000O0OOOO0OO ,OO0OOOOOO0O000OO0 [0 ])#line:406
271
+ lz_log (O00O00O0OOOOOOOOO )#line:407
272
+ if O00O00O0OOOOOOOOO ==False :#line:408
273
273
  lz_error (5 )#line:409
274
274
  return #line:410
275
275
  print (".")#line:414
276
276
  lz_log (6 )#line:415
277
- OO0000000O000OO00 =adjustStackFrame (O0OO00O00O00O0000 )#line:416
278
- lz_log (OO0000000O000OO00 )#line:417
279
- if OO0000000O000OO00 ==False :#line:418
277
+ O00O00O0OOOOOOOOO =adjustStackFrame (O0000O0OO0OO00O00 )#line:416
278
+ lz_log (O00O00O0OOOOOOOOO )#line:417
279
+ if O00O00O0OOOOOOOOO ==False :#line:418
280
280
  lz_error (6 )#line:419
281
281
  return #line:420
282
- def help ():#line:423
283
- print ("Usage:")#line:425
284
- print (" isource memory_address eg:isource 0x8badf00d")#line:426
285
- print ("Commands:")#line:428
286
- print (" + help command help")#line:429
287
- print (" + clean clean cache")#line:430
288
- pass #line:431
289
- def helloworld (OO0OO000O0OO0O000 ,O0OOOOO0O000OO000 ,OOO0OO0O0OOO00O00 ,OOO0OO00000OOO00O ):#line:434
290
- if O0OOOOO0O000OO000 ==None or O0OOOOO0O000OO000 =='-h':#line:436
291
- help ()#line:437
292
- elif O0OOOOO0O000OO000 =='-c':#line:438
293
- clean (source_code_dir )#line:439
294
- elif re .match ('0x.*[a-z0-9]',O0OOOOO0O000OO000 )!=None :#line:440
295
- start (OO0OO000O0OO0O000 ,O0OOOOO0O000OO000 )#line:441
296
- else :#line:442
297
- print ('error: '+O0OOOOO0O000OO000 +' is not a valid command.')#line:443
298
- help ()#line:444
299
- def __O0O000O00O00000OO (O0O00000O0000OOOO ,OO000OO0O0OOOO00O ):#line:447
300
- manage_source_dir ()#line:449
301
- manage_job_inis ()#line:453
302
- O0O00000O0000OOOO .HandleCommand ("command script add -f isource_lldb.helloworld isource")#line:455
282
+ def process (OOO00O00OOO0000O0 ,OO0OOOO0OOO00OO00 ):#line:423
283
+ O0000OOO0OO000O0O =r'''
284
+ @import <dlfcn.h>;
285
+ @import <objc/runtime.h>;
286
+ @import Foundation;
287
+ unsigned int count;
288
+ const char **classes;
289
+ Dl_info info;
290
+
291
+ void *_mh_execute_header = __builtin_return_address(0);
292
+ dladdr(_mh_execute_header, &info);
293
+ classes = (const char **)objc_copyClassNamesForImage(info.dli_fname, &count);
294
+
295
+ NSInteger level = 0;//继承层级
296
+ NSInteger backLevel = 0;//继承层级
297
+ NSMutableDictionary * visited_class = [[NSMutableDictionary alloc]init];
298
+ NSMutableArray * class_stack = [[NSMutableArray alloc] init];
299
+ [class_stack addObject:@"'''+OO0OOOO0OOO00OO00 +'''"];
300
+ BOOL isPrint = NO;
301
+ printf("\\n");
302
+ while (true) {
303
+
304
+ NSString * current_class = [class_stack firstObject];
305
+
306
+ if (current_class) {
307
+ if((BOOL)[[visited_class objectForKey:current_class] boolValue] == YES ) {
308
+
309
+ BOOL hasNewClass = NO;
310
+ for (int i = 0; i < count; i++) {
311
+
312
+ NSString *className = [NSString stringWithCString:classes[i] encoding:NSUTF8StringEncoding];
313
+ NSString *superName = (NSString*)NSStringFromClass((Class)class_getSuperclass(NSClassFromString(className)));
314
+
315
+ if ([superName isEqualToString:current_class] && (BOOL)[[visited_class objectForKey:className] boolValue] == NO) {
316
+ [class_stack insertObject:className atIndex:0];
317
+ hasNewClass = YES;
318
+ break;
319
+ }
320
+ }
321
+ if (hasNewClass == YES) {
322
+ level += 1;
323
+ } else {
324
+ [class_stack removeObjectAtIndex:0];
325
+ level -= 1;
326
+ backLevel += 1;
327
+ }
328
+
329
+ } else {
330
+
331
+ NSMutableString * separationSpace = [[NSMutableString alloc]init];
332
+ for (int i = 0; i < level; ++i) {
333
+ [separationSpace appendString:@" |"];
334
+ }
335
+
336
+ NSMutableString * backLevelSpace = [[NSMutableString alloc]init];
337
+ for (int i = 0; i < backLevel-1; ++i) {
338
+ [backLevelSpace appendString:@" |"];
339
+ }
340
+
341
+ backLevel = 0;
342
+
343
+ if (isPrint == YES) {
344
+ printf("|%s%s\\n",(char *)[[separationSpace copy] UTF8String],(char *)[[backLevelSpace copy] UTF8String]);
345
+ }
346
+ NSString * temp = (NSString*)NSStringFromClass((Class)class_getSuperclass(NSClassFromString(current_class)));
347
+ if (temp.length > 0) {
348
+ 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]);
349
+ } else {
350
+ printf("|----%s (L%s) \\n",(char *)[current_class UTF8String],(char *)[[NSString stringWithFormat:@"%ld",(long)level] UTF8String]);
351
+ }
352
+
353
+ isPrint = YES;
354
+ [visited_class setObject:@1 forKey:current_class];
355
+ }
356
+ } else {
357
+ break;
358
+ }
359
+ }
360
+ '''#line:501
361
+ O00OOOOO00OO00OO0 =OOO00O00OOO0000O0 .GetCommandInterpreter ()#line:503
362
+ O000OOOOOO00O000O =lldb .SBCommandReturnObject ()#line:504
363
+ O00OOOOO00OO00OO0 .HandleCommand ('expression -lobjc -O -- '+O0000OOO0OO000O0O ,O000OOOOOO00O000O )#line:506
364
+ OOOOOOO0000O0000O =O000OOOOOO00O000O .GetOutput ()#line:507
365
+ O0O00O0OO0O0000OO =re .search ('error',OOOOOOO0000O0000O )#line:508
366
+ print (O000OOOOOO00O000O .GetError ())#line:509
367
+ def help ():#line:511
368
+ print ("Usage:")#line:513
369
+ print (" isource memory_address eg:isource 0x8badf00d")#line:514
370
+ print ("")#line:515
371
+ print (" isource class_name eg:isource QYVideoViewControllerV3")#line:516
372
+ print ("")#line:517
373
+ print ("Commands:")#line:519
374
+ print (" + help command help")#line:520
375
+ print (" + clean clean cache")#line:521
376
+ pass #line:522
377
+ def helloworld (O00OOO0OO00OO00OO ,OOOOOOO0OO000O000 ,O000O0O0OO0O00O00 ,OOO0O0O0OO00O0OO0 ):#line:525
378
+ if OOOOOOO0OO000O000 ==''or OOOOOOO0OO000O000 =='-h':#line:527
379
+ help ()#line:528
380
+ elif OOOOOOO0OO000O000 =='-c':#line:529
381
+ clean (source_code_dir )#line:530
382
+ elif re .match ('0x.*[a-z0-9]',OOOOOOO0OO000O000 )!=None :#line:531
383
+ start (O00OOO0OO00OO00OO ,OOOOOOO0OO000O000 )#line:532
384
+ elif re .match ('.*[a-z0-9]',OOOOOOO0OO000O000 )!=None :#line:533
385
+ process (O00OOO0OO00OO00OO ,OOOOOOO0OO000O000 )#line:534
386
+ else :#line:535
387
+ print ('error: '+OOOOOOO0OO000O000 +' is not a valid command.')#line:536
388
+ help ()#line:537
389
+ def __O0OO000OO0O00O0OO (O000OOOO0O0OO0O00 ,OOOOO00OO00OOOO00 ):#line:540
390
+ manage_source_dir ()#line:542
391
+ manage_job_inis ()#line:546
392
+ O000OOOO0O0OO0O00 .HandleCommand ("command script add -f isource_lldb.helloworld isource")#line:548
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.2
4
+ version: 0.3.5
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-28 00:00:00.000000000 Z
11
+ date: 2021-06-29 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: An plugin of LLDB.
14
14
  email: