双肾钙化灶是什么意思| 卿卿是什么意思| 浔是什么意思| 血液四项检查是什么| 红色裤子搭配什么颜色上衣| 后腰左侧疼痛是什么原因男性| 女性得了性病有什么症状| 梦见旅游是什么意思| 奎字五行属什么| 七夕节的含义是什么| 9月10号是什么星座| 花甲是什么| 巡视员什么级别| 晚上睡觉手麻木是什么原因| 饭票是什么意思| 内敛是什么意思| 意难平什么意思| 毓婷是什么药| 洗礼是什么意思| 隐疾是什么意思| 乳头内陷是什么原因| 什么东西| 8月1日什么星座| 二大爷是什么意思| 红色加黄色是什么颜色| 3月23日什么星座| 伪骨科是什么| 南昌有什么好玩的景点| 送礼送什么比较好| 鲁班是干什么的| 小腿痒痒越挠越痒是什么原因| hr是什么单位| 什么人不能吃蜂蜜| 什么室什么空| 蠼螋对人有什么危害| 为什么会起水泡| 2005年什么年| 腰肌劳损什么症状| 怀孕的尿液是什么颜色| 转氨酶高吃什么好得快| 血型阳性是什么意思| jimmy是什么意思| 1957年发生了什么| 胩是什么意思| 世界上有什么花| lp是什么的简称| 尿检3个加号什么意思| 没有子宫会有什么影响| land rover是什么车| 梦见蛇是什么意思啊| cn是什么单位| 高危儿是什么意思| 如法炮制是什么意思| 七月八号什么星座| 三个金念什么| 阳痿早泄吃什么药| 钠高是什么原因| 检查前列腺做什么检查| 梦见大便是什么预兆| 久坐伤什么| 金牛属于什么象星座| sle是什么病的缩写| 甲状腺是什么症状表现| 屁股黑是什么原因| 为什么会全身酸痛| 小腿肚酸胀是什么原因| 鸭肚是鸭的什么部位| 亚麻籽吃了有什么好处| 头皮发麻是什么病的前兆| 胃打嗝是什么原因| 红花配绿叶是什么意思| 去医院看舌头挂什么科| 梦见捞鱼是什么意思| 舌根发黑是什么原因| 声音嘶哑吃什么药| 睾丸胀痛是什么原因| 泰安有什么好吃的| 白色五行属什么| 梦见大蒜是什么意思| 心跳过快有什么危害| 精分是什么意思| 东南方五行属什么| 女人缺少雌激素吃什么| 八一建军节是什么节日| 8月1号是什么星座| 卫生湿巾是干什么用的| 牛肉用什么腌制比较嫩| 介入手术是什么意思| 乳房挂什么科| 手筋痛是什么原因| 貘是什么动物| 什么是腺样体面容| 11月29日什么星座| 缺铁吃什么补得最快| 朵字五行属什么| 念珠菌阳性是什么病| 叶公好龙的好是什么意思| 言过其实是什么意思| 青岛属于什么气候| 男士背心什么牌子好| 什么手机像素最高| 邻家女孩什么意思| 小孩腿疼膝盖疼可能是什么原因| 怀璧其罪是什么意思| 维生素b6是治什么的| 文雅什么意思| 中蛊的人有什么症状| 枯木逢春什么意思| 7.23是什么星座| fci是什么意思| 医学是什么| ochirly是什么品牌| 梦到拉粑粑是什么意思| 螃蟹为什么吐泡泡| 绀是什么意思| 愚痴是什么意思| 什么时候初伏第一天| 胆固醇高吃什么药| 骨折恢复期吃什么好| 乳头为什么会痛| 两个土念什么字| 断崖式是什么意思| 男人交生育保险有什么用| 什么大专好就业| 不加热血清反应素试验是什么| 男生下面长什么样| 喉咙疼吃什么水果好| 晨勃消失是什么原因| 女生胸疼是什么原因| 脂溢性脱发用什么药| 什么是保健品| 什么叫低级别上皮内瘤变| 走路有什么好处及功效| 征候是什么意思| 头痛挂什么科| 入木三分是什么生肖| 眼睛感染用什么眼药水| 什么是象限| 上大学需要准备什么| 牙齿深覆合是什么意思| 2.4什么星座| 什么可以祛斑| 眼压高有什么症状| 征兵初检检查什么| 什么是维生素| 为什么喝绞股蓝会死亡| 协警是什么编制| 为什么耳屎是湿的| 出殡是什么意思| 什么人容易得阿尔兹海默症| 什么叫高血压| 葵瓜子吃多了有什么危害| 净身出户是什么意思| 谁也不知道下一秒会发生什么| 收心是什么意思| 为什么嘴巴老是干| 大条是什么意思| 什么食物含叶黄素最多| 糖料病者应吃什么好| 安全期是指什么时间| 心慌心跳吃什么药| 总出虚汗什么原因怎么解决| 蝾螈是什么动物| 母亲生日送什么礼物| 子宫内膜息肉样增生是什么意思| 七手八脚是什么意思| 为什么四川总地震| 阳历8月份是什么星座| 眼睛发炎用什么眼药水| 什么长什么去| 孵化器公司是干什么的| 为什么同房会痛| 荷花鱼是什么鱼| 什么叫| 光杆司令是什么意思| 米饭配什么菜好吃| 宝宝细菌感染吃什么药| 6月17日是什么星座| 起灵是什么意思| 什么是提示语| 什么的杨桃| 骨质疏松是什么原因引起的| 温煦是什么意思| 一岁半宝宝反复发烧是什么原因| 司长什么级别| 抹茶粉是什么做的| 小孩晚上不睡觉是什么原因| 临汾有什么大学| 宫颈纳氏囊肿是什么意思| 张伦硕为什么娶钟丽缇| 泡黄芪水喝有什么好处| 十月份出生的是什么星座| 大枣枸杞泡水喝有什么好处| 女人下巴长痘痘是什么原因| 劳动法什么时候实施的| 催经吃什么药| 机遇什么意思| 四眼狗有什么迷信说法| 软组织是什么| 预科班是什么意思| yg是什么意思| 股骨头坏死什么症状| 为什么会有高血压| 起床气是什么意思| 一个日一个斤念什么| 蚕屎做枕头有什么好处| 穆萨是什么意思| 赤道2什么时候上映| 针清是什么| 便是什么意思| 青春期什么时候结束| 益母草什么时候喝最好| 脚凉是什么原因造成的| 梦见杀猪是什么意思| ngu是什么意思| 胆大包天是什么生肖| rpe是什么意思| 不稀罕是什么意思| 请人原谅说什么| 类风湿性关节炎吃什么药| 廉洁奉公是什么意思| 智叟是什么意思| 求欢是什么意思| 甲功三项查的是什么| 日本为什么偷袭珍珠港| 一个火一个斤念什么| 梦见被狗追是什么意思| 有口臭是什么原因| 夏枯草有什么功效| 缺铁性贫血吃什么药好| 易经的易是什么意思| 皮肌炎是什么症状| 胃泌素高是什么原因| 桂花是什么季节开的| 邹字五行属什么| 脂肪瘤是什么| 重庆五行属什么| 什么可以美白| 老人适合吃什么水果| 肌红蛋白高说明什么| 阿司匹林肠溶片什么时候吃| 头皮痒掉发严重是什么原因| 水星是什么颜色的| 卓玛什么意思| 6月17号是什么星座| 泥鳅喜欢吃什么食物| 病毒发烧吃什么药| 便秘吃什么| sec是什么单位| 胚胎停育是什么原因造成的| 支气管激发试验阴性是什么意思| 太阳里面有什么| 经期头疼是什么原因怎么办| 肾在什么位置图片| 散光是什么原因导致的| 王字旁的字跟什么有关| 子宫结节是什么意思| 小便出血是什么原因| 三角巾是什么| 虚岁27岁属什么生肖| 心急如焚是什么意思| 拂尘是什么意思| 肌张力高是什么意思| 肆无忌惮的意思是什么| 百度
blob: 7fef98e1864c0f0d3e308d0507a7570ef1b7a181 [file] [log] [blame]
#!/usr/bin/env python
# Copyright 2012 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
""""Processes a log file and resolves IPC message identifiers.
Resolves IPC messages of the form [unknown type NNNNNN] to named IPC messages.
e.g. logfile containing
I/stderr ( 3915): ipc 3915.3.1370207904 2147483647 S [unknown type 66372]
will be transformed to:
I/stderr ( 3915): ipc 3915.3.1370207904 2147483647 S ViewMsg_SetCSSColors
In order to find the message header files efficiently, it requires that
Chromium is checked out using git.
"""
from __future__ import print_function
import optparse
import os
import re
import subprocess
import sys
def _SourceDir():
"""Get chromium's source directory."""
return os.path.join(sys.path[0], '..')
def _ReadLines(f):
"""Read from file f and generate right-stripped lines."""
for line in f:
yield line.rstrip()
def _GetMsgStartTable():
"""Read MsgStart enumeration from ipc/ipc_message_utils.h.
Determines the message type identifiers by reading.
header file ipc/ipc_message_utils.h and looking for
enum IPCMessageStart. Assumes following code format in header file:
enum IPCMessageStart {
Type1MsgStart ...,
Type2MsgStart,
};
Returns:
A dictionary mapping StartName to enumeration value.
"""
ipc_message_file = _SourceDir() + '/ipc/ipc_message_utils.h'
ipc_message_lines = _ReadLines(open(ipc_message_file))
is_msg_start = False
count = 0
msg_start_table = dict()
for line in ipc_message_lines:
if is_msg_start:
if line.strip() == '};':
break
msgstart_index = line.find('MsgStart')
msg_type = line[:msgstart_index] + 'MsgStart'
msg_start_table[msg_type.strip()] = count
count+=1
elif line.strip() == 'enum IPCMessageStart {':
is_msg_start = True
return msg_start_table
def _FindMessageHeaderFiles():
"""Look through the source directory for *_messages.h."""
os.chdir(_SourceDir())
pipe = subprocess.Popen(['git', 'ls-files', '--', '*_messages.h'],
stdout=subprocess.PIPE)
return _ReadLines(pipe.stdout)
def _GetMsgId(msg_start, line_number, msg_start_table):
"""Construct the meessage id given the msg_start and the line number."""
hex_str = '%x%04x' % (msg_start_table[msg_start], line_number)
return int(hex_str, 16)
def _ReadHeaderFile(f, msg_start_table, msg_map):
"""Read a header file and construct a map from message_id to message name."""
msg_def_re = re.compile(
'^IPC_(?:SYNC_)?MESSAGE_[A-Z0-9_]+\(([A-Za-z0-9_]+).*')
msg_start_re = re.compile(
'^\s*#define\s+IPC_MESSAGE_START\s+([a-zA-Z0-9_]+MsgStart).*')
msg_start = None
msg_name = None
line_number = 0
for line in f:
line_number+=1
match = re.match(msg_start_re, line)
if match:
msg_start = match.group(1)
# print("msg_start = " + msg_start)
match = re.match(msg_def_re, line)
if match:
msg_name = match.group(1)
# print("msg_name = " + msg_name)
if msg_start and msg_name:
msg_id = _GetMsgId(msg_start, line_number, msg_start_table)
msg_map[msg_id] = msg_name
return msg_map
def _ResolveMsg(msg_type, msg_map):
"""Fully resolve a message type to a name."""
if msg_type in msg_map:
return msg_map[msg_type]
else:
return '[Unknown message %d (0x%x)]x' % (msg_type, msg_type)
def _ProcessLog(f, msg_map):
"""Read lines from f and resolve the IPC messages according to msg_map."""
unknown_msg_re = re.compile('\[unknown type (\d+)\]')
for line in f:
line = line.rstrip()
match = re.search(unknown_msg_re, line)
if match:
line = re.sub(unknown_msg_re,
_ResolveMsg(int(match.group(1)), msg_map),
line)
print(line)
def _GetMsgMap():
"""Returns a dictionary mapping from message number to message name."""
msg_start_table = _GetMsgStartTable()
msg_map = dict()
for header_file in _FindMessageHeaderFiles():
_ReadHeaderFile(open(header_file),
msg_start_table,
msg_map)
return msg_map
def main():
"""Processes one or more log files with IPC logging messages.
Replaces '[unknown type NNNNNN]' with resolved
IPC messages.
Reads from standard input if no log files specified on the
command line.
"""
parser = optparse.OptionParser('usage: %prog [LOGFILE...]')
(_, args) = parser.parse_args()
msg_map = _GetMsgMap()
log_files = args
if log_files:
for log_file in log_files:
_ProcessLog(open(log_file), msg_map)
else:
_ProcessLog(sys.stdin, msg_map)
if __name__ == '__main__':
main()
淡奶油能做什么 硫酸羟氯喹片是治什么病 621什么星座 什么工作轻松 大荔冬枣什么时候成熟
破釜沉舟的釜是什么意思 什么叫遗精 什么血型招蚊子叮咬 10.16是什么星座 屈原是什么诗人
为什么印度人叫阿三 活检是什么 脚酸臭是什么原因 五道杠是什么牌子 吃什么补维生素
芦根煮水的功效是什么 前额头疼是什么原因引起的 糖耐是什么 血糖高吃什么食物最好最佳 王允和貂蝉什么关系
山东简称是什么hcv9jop2ns9r.cn 什么是爱呢hcv9jop2ns9r.cn 什么样的人不能吃海参hcv8jop8ns9r.cn 6月30号什么星座hcv9jop1ns3r.cn 边界感是什么意思hcv8jop1ns1r.cn
下午3点到5点是什么时辰hcv8jop6ns2r.cn 软开是什么cl108k.com 孕妇喝什么汤最好最有营养hcv8jop6ns7r.cn 手脚发胀是什么前兆hcv9jop1ns1r.cn 女性腹部彩超检查什么hcv8jop0ns2r.cn
鱼腥味是什么妇科病hcv9jop6ns3r.cn 什么辣椒又香又辣hcv9jop5ns7r.cn 心火是什么原因引起的fenrenren.com 查生育能力挂什么科hcv8jop3ns1r.cn 狗狗狂犬疫苗什么时候打hcv7jop7ns3r.cn
醪糟是什么东西xinmaowt.com 一阴一阳是什么数字hcv8jop2ns2r.cn 一月八号是什么星座hcv9jop7ns9r.cn 做梦抓到很多鱼是什么征兆hcv8jop8ns3r.cn 养胃吃什么hcv8jop4ns3r.cn
百度