1257关1257ad怎么看领主性格破

后使用快捷导航没有帐号?
只需一步,快速开始
请完成以下验证码
请完成以下验证码
查看: 20404|回复: 11
求助,狗狗肉垫破皮了怎么办?
阅读权限30
主题帖子骨头
初中生, 积分 213, 距离下一级还需 287 积分
马上注册,结交更多狗友,享用更多功能,让你轻松玩转社区。
才可以下载或查看,没有帐号?
昨天带狗狗去跑步,可以跑的多了,回来给它洗脚的时候发现肉垫破皮了,没出血,黑色的爪子可以隐约看见破皮的地方露出暗红的肉肉,怎么办啊?
现在狗狗走路好斯文了,也不跳了,眼睛巴巴的望着,昨天晚上还被蚊子欺负,在眼睛部位咬了一个苞。
给它脚上涂了些碘酒消炎,一下它就瘸着腿表示反抗,还想上云南白药都弄不成。
狗狗脚垫破皮但还是可以走路没有明显的瘸腿,走的慢。
今早上看着它慢悠悠的走到厕所便便,真心疼……
阅读权限80
主题帖子骨头
你处理得很好了。
。。名犬爱好者。。·~·
阅读权限30
主题帖子骨头
初中生, 积分 213, 距离下一级还需 287 积分
上点碘酒就很好了?
后悔啊,不该让他跟着车子作死的跑,明明看到它不想跑了,还逼着它跑
阅读权限50
主题帖子骨头
大学生, 积分 1395, 距离下一级还需 605 积分
呵呵 会很快好的
我们家的把碗打破啦 划了好长的口子&&给他涂的消炎药& &没几天就好啦
阅读权限30
主题帖子骨头
初中生, 积分 213, 距离下一级还需 287 积分
& & 可是它老是不安分的走走动动啊,伤口就在接触地面的位置。 感觉刚抹上的药又被蹭掉了。
阅读权限20
主题帖子骨头
小学生, 积分 176, 距离下一级还需 24 积分
你处理的不错啦,没事的,我家狗狗以前被玻璃碎片划伤了,脚上的白毛都被染红了,当时我还不知道,就奇怪哪来那么多血,抱起来一看吓坏我了,我家亲爱的妈妈就是个医生,我急着问怎么办的时候,我妈妈居然很漠然的说:&冒死啦,擦点嘎子碘酒。”当时还觉得妈妈很过分,不过没办法还是照做了,基本上几天就好了。 所以楼主不要太担心哦!
阅读权限50
主题帖子骨头
大学生, 积分 1395, 距离下一级还需 605 积分
liqi_xiami
& & 没关系的&&狗狗吗& &他们自己很会照顾自己的&&不要太担心了&&我们家那个一条好长的口&&我给他还包扎了 可是伤到脚底了
走路的话自然会蹭掉的&&除了他上厕所啊 什么的 其他的时间不要逗他就行啦 他就不会动啦&&实在不放心&&给他多敷点药把
不间断的给他上药& &用干净的毛巾 给他擦擦
阅读权限30
主题帖子骨头
初中生, 积分 213, 距离下一级还需 287 积分
哦,早上我是弄了个杯子倒满了碘酒,直接把它四个爪子放里面泡泡,尽管走的家里都是碘酒爪子,没办法了。
阅读权限50
主题帖子骨头
大学生, 积分 1257, 距离下一级还需 743 积分
把四个爪子都放到杯子里泡泡&&
只是磨泡了点皮呢
阅读权限30
主题帖子骨头
初中生, 积分 213, 距离下一级还需 287 积分
终于放心了
宠物达人(2)
宠物达人2级勋章(售价:1000骨头)
宠物达人(3)
宠物达人3级勋章(售价:2000骨头)
闪耀之星(1)
闪耀之星1级勋章(售价:3000骨头)
财富之星(1)
财富之星1级勋章(售价:10000骨头)
财富之星(2)
财富之星2级勋章(售价:20000骨头)
宠物达人(1)
宠物达人1级勋章(售价:500骨头)Linux kernel oops 如何破? - 21QA工程师问答社区
题主按:在实际项目中有一次遇到这样的问题,以下为测试人员报过来的信息,如何破?
必现用例:
[ 10:37:10] 方: Bug 637 - 网卡配置绑定导致系统不停重启问题
这个bug找到复现的关键点了。
主机和阵列通过交换机想连,并且交换机上连一根外网的网线,以rr模式添加bond0,alb模式添加bond1,就开始打堆栈,无限重启
[ 10:37:36] 方: [日 10:37] 方:
&&& 交换机上连一根外网的网线还有rr和alb两个不同的模式,
[ 10:37:51] 方: 不连外网网线的话出不了
[ 10:38:13] 方: 而且无限重启的时候,把外网网线拔掉就能停下了
[ 10:39:21] 方: 这个现象怎么解释
[ 10:40:43] 方: CPU 0 Unable to handle kernel paging request at virtual address 0318, epc == ffffffffc0445a10, ra == ffffffffc04459dc
: 0000 ffffffff808b1da0
: ad00 0018
: f a000 0000
: ad1870 ffffffff
: 02b1 87b0
: ffffffff811c4000 ffffffff811c7970 ffffffff811c7970 ffffffffc04459dc
: ffffffffc0445a10 rlb_arp_recv+0x128/0x228 [bonding]
Tainted: P
: ffffffffc04459dc rlb_arp_recv+0xf4/0x228 [bonding]
Status: 1010cce3
KX SX UX KERNEL EXL IE
BadVA : 0318
: 000d9202 (Cavium Octeon II)
Modules linked in: bonding run(P) raid vscsih iscsitgt disk vdisk cache(P) service gmeta mpt2sas netlink bubble platform octeon_ethernet at24
Process swapper (pid: 0, threadinfo=ffffffff811c4000, task=ffffffff811e5280, tls=0000)
Stack : 0003 ffffffff ffffffff ac8580
ac ffffffff811c79b0 ffffffff807a7648
000d0 ffffffff808b22e0 003c a600
ac002b7d280
ffffffff811c7a10 ffffffffc0010154
ffffffff811c7b80 ffffffff802d22e8 0000 ffffffff
0000 ffffffffc001ac00 f
a000 0000 ffffffff811d2a00 0100
Call Trace:
[&ffffffffc0445a10&] rlb_arp_recv+0x128/0x228 [bonding]
[&ffffffff807a7648&] netif_receive_skb+0x3f0/0x4d8
[&ffffffffc0010154&] cvm_oct_napi_poll_38+0x7ac/0x10e8 [octeon_ethernet]
[&ffffffff807a8218&] net_rx_action+0x128/0x280
[&ffffffff&] __do_softirq+0x130/0x248
[&ffffffff&] do_softirq+0x88/0x90
[&ffffffff&] irq_exit+0x70/0x88
[&ffffffff808b22e0&] do_IRQ+0x48/0x60
[&ffffffff80104cd4&] octeon_irq_ip2_ciu+0x94/0xb8
[&ffffffff&] plat_irq_dispatch+0x80/0xd0
[&ffffffff802d22e8&] ret_from_irq+0x0/0x4
[&ffffffff802d24e0&] r4k_wait+0x20/0x40
[&ffffffff802d4794&] cpu_idle+0x84/0xa0
[&ffffffff808a3270&] rest_init+0x80/0x98
[&ffffffff81243b5c&] start_kernel+0x37c/0x4c4
Code: de82882d &c02808b
8aea02001b
Kernel panic - not syncing: Fatal exception in interrupt
NMI Watchdog interrupt on Core 0x01
$0 0x0000 at 0xffffffff803471bc
v0 0xffffffff802d24c0 v1 0x0001
a0 0xfffffffffffffffd a1 0x0000
a2 0xffffffff a3 0x0001
a4 0xx0020
a6 0xx000000aaab43b498
t0 0xx001f
t2 0xa000 t3 0x0000
s0 0xffffffff853exffffffff853f0000
s2 0xffffffff811cx0000
s4 0xx0200
s6 0xffffffff811cxffffffff
t8 0xxb7f7b0
k0 0xx0000
gp 0xafc000 sp 0xaffb10
s8 0xaffb10 ra 0xffffffff802dbc18
err_epc 0xffffffff802d24e0 epc 0xffffffff802d24e0
status 0xcce4 cause 0x8800
sum0 0x0000 en0 0x0000
Chip soft reset soon
若觉得内容不错,请点击左上角的"赞"图标,以优化网站的内容呈现。
另外,请及时验证注册邮箱,否则收不到21QA发出的红包。
1 首先根据oops定位到出错行
关键的一行应该是这个:epc
: ffffffffc0445a10 rlb_arp_recv+0x128/0x228 [bonding]
反汇编一下
mips64-octeon-linux-gnu-objdump -S
bonding.ko
先搜索一下 rlb_arp_recv的基址:
e8e8 &rlb_arp_recv&:
e8e8 + 0x128 = ea10
_lock_rx_hashtbl(bond);
hash_index = _simple_hash((u8*)&(arp-&ip_src), sizeof(arp-&ip_src));
client_info = &(bond_info-&rx_hashtbl[hash_index]);
v0,a0,0x0,0x20
a0,616(s2)
if ((client_info-&assigned) &&
v1,ea34 &rlb_arp_recv+0x14c&
v1,v0,ea90 &rlb_arp_recv+0x1a8&
spin_lock_bh(&(BOND_ALB_INFO(bond).rx_hashtbl_lock));
也就是说,正确的出错位置是
if ((client_info-&assigned) &&
为什么这个会出错呢?
源代码分析过程
出错位置在 rlb_ubond_alb.c 340,2-9
即rlb_update_entry_from_arp(struct bonding *bond, struct arp_pkt *arp)函数
把代码贴出来
329 static void rlb_update_entry_from_arp(struct bonding *bond, struct arp_pkt *arp)
struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond));
struct rlb_client_info *client_
_lock_rx_hashtbl(bond);
hash_index = _simple_hash((u8*)&(arp-&ip_src), sizeof(arp-&ip_src));
client_info = &(bond_info-&rx_hashtbl[hash_index]);
if ((client_info-&assigned) &&
(client_info-&ip_src == arp-&ip_dst) &&
(client_info-&ip_dst == arp-&ip_src)) {
/* update the clients MAC address */
memcpy(client_info-&mac_dst, arp-&mac_src, ETH_ALEN);
client_info-&ntt = 1;
bond_info-&rx_ntt = 1;
_unlock_rx_hashtbl(bond);
L340里client_info是一个指针,那么应该跟踪一下它的值,于是printk出来,发现在oops的时候它的值比较怪异:
client_info: 300
很明显这个值是有问题的,不可能有这么小的值,内存的低端地址早就被占用了。
跟踪一下L338看看这个值怎么来的?又见两个指针!于是继续printk出来:
bond: ab600
hash_index: 10
rx_hashtbl: 0
眼前一亮,0指针呀!于是 client_info: 300是咋回事也就很简单了,看代码就知道,把rx_hashtbl表的第10项的地址取出来,10*30=300,sizeof(struct tlb_client_info)=30。
接下来就是查找为啥是0指针了。
在同一个文件以这个字符串“rx_hashtbl =”搜索一下,得到两处结果,浏览一下代码,我觉得这处相关性更大一些:
kernel_2.6/linux/drivers/net/bonding/bond_alb.c 803
803 static int rlb_initialize(struct bonding *bond)
struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond));
struct packet_type *pk_type = &(BOND_ALB_INFO(bond).rlb_pkt_type);
struct rlb_client_info
int size = RLB_HASH_TABLE_SIZE * sizeof(struct rlb_client_info);
spin_lock_init(&(bond_info-&rx_hashtbl_lock));
new_hashtbl = kmalloc(size, GFP_KERNEL);
if (!new_hashtbl) {
pr_err(DRV_NAME
": %s: Error: Failed to allocate RLB hash table\n",
bond-&dev-&name);
return -1;
_lock_rx_hashtbl(bond);
bond_info-&rx_hashtbl = new_
bond_info-&rx_hashtbl_head = RLB_NULL_INDEX;
for (i = 0; i & RLB_HASH_TABLE_SIZE; i++) {
rlb_init_table_entry(bond_info-&rx_hashtbl + i);
_unlock_rx_hashtbl(bond);
/*initialize packet type*/
pk_type-&type = cpu_to_be16(ETH_P_ARP);
pk_type-&dev = NULL;
pk_type-&func = rlb_arp_
/* register to receive ARPs */
dev_add_pack(pk_type);
从L822看,指针是存在的!
看看谁call了rlb_initialize: kernel_2.6/linux/drivers/net/bonding/bond_alb.c 1255
1255 int bond_alb_initialize(struct bonding *bond, int rlb_enabled)
res = tlb_initialize(bond);
if (res) {
if (rlb_enabled) {
bond-&alb_info.rlb_enabled = 1;
/* initialize rlb */
res = rlb_initialize(bond);
if (res) {
tlb_deinitialize(bond);
bond-&alb_info.rlb_enabled = 0;
注意这个rlb_enabled的问题,再往上级查找,谁call了bond_alb_initialize?
drivers/net/bonding/bond_main.c
3714 static int bond_open(struct net_device *bond_dev)
struct bonding *bond = netdev_priv(bond_dev);
bond-&kill_timers = 0;
if (bond_is_lb(bond)) {
/* bond_alb_initialize must be called before the timer
* is started.
if (bond_alb_initialize(bond, (bond-&params.mode == BOND_MODE_ALB))) {
/* something went wrong - fail the open operation */
return -1;
INIT_DELAYED_WORK(&bond-&alb_work, bond_alb_monitor);
queue_delayed_work(bond-&wq, &bond-&alb_work, 0);
if (bond-&params.miimon) {
/* link check interval, in milliseconds. */
INIT_DELAYED_WORK(&bond-&mii_work, bond_mii_monitor);
queue_delayed_work(bond-&wq, &bond-&mii_work, 0);
if (bond-&params.arp_interval) {
/* arp interval, in milliseconds. */
if (bond-&params.mode == BOND_MODE_ACTIVEBACKUP)
INIT_DELAYED_WORK(&bond-&arp_work,
bond_activebackup_arp_mon);
INIT_DELAYED_WORK(&bond-&arp_work,
bond_loadbalance_arp_mon);
queue_delayed_work(bond-&wq, &bond-&arp_work, 0);
if (bond-&params.arp_validate)
bond_register_arp(bond);
if (bond-&params.mode == BOND_MODE_8023AD) {
INIT_DELAYED_WORK(&bond-&ad_work, bond_3ad_state_machine_handler);
queue_delayed_work(bond-&wq, &bond-&ad_work, 0);
/* register to receive LACPDUs */
bond_register_lacpdu(bond);
bond_3ad_initiate_agg_selection(bond, 1);
L是关键代码!
从以上两个代码片段可知,调用rlb_initialize是有条件的,即在条件满足的时候才会去对rx_hashtbl 分配资源。
于是我猜测,oops的原因在于条件不满足的时候也去访问了rx_hashtbl ,分析了一下代码,然后加入了一些调试语句来验证我的猜测:
在bond_open函数中把bond指针打印出来,
在bond_open函数L3720之后插入一条打印语句来跟踪流程
在rlb_update_entry_from_arp函数中把bond指针打印出来
具有决定意义的信息出来了,分析信息后可以总结出这么几点:
不管是rr,还是alb,在d1都有动作,且打印出了bond指针。
和rr有关的,在d2没有动作.
不管是rr,还是alb,在d3都有动作,且打印出了bond指针。
经过比较指针内容,得知oops时,是和rr有关的,而根据b可知,其rx_hashtbl并未分配资源。
进一步分析,既然未分配资源,那么程序怎么就去访问它了呢?继续分析代码:
a. 看看是谁调用了rlb_update_entry_from_arp()?
b. 是它:rlb_arp_recv()
c. 再往上已经没有调用关系了,不过有一个引用:
803 static int rlb_initialize(struct bonding *bond)
struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond));
struct packet_type *pk_type = &(BOND_ALB_INFO(bond).rlb_pkt_type);
struct rlb_client_info
int size = RLB_HASH_TABLE_SIZE * sizeof(struct rlb_client_info);
spin_lock_init(&(bond_info-&rx_hashtbl_lock));
new_hashtbl = kmalloc(size, GFP_KERNEL);
if (!new_hashtbl) {
pr_err(DRV_NAME
": %s: Error: Failed to allocate RLB hash table\n",
bond-&dev-&name);
return -1;
_lock_rx_hashtbl(bond);
bond_info-&rx_hashtbl = new_
bond_info-&rx_hashtbl_head = RLB_NULL_INDEX;
for (i = 0; i & RLB_HASH_TABLE_SIZE; i++) {
rlb_init_table_entry(bond_info-&rx_hashtbl + i);
_unlock_rx_hashtbl(bond);
/*initialize packet type*/
pk_type-&type = cpu_to_be16(ETH_P_ARP);
pk_type-&dev = NULL;
pk_type-&func = rlb_arp_
/* register to receive ARPs */
dev_add_pack(pk_type);
从L838可以看出,其在arp层注册了一个回调接口,即pk_type,它是和rlb_arp_recv有关的。
但是从L803可以看出,引用rlb_arp_recv的是rlb_initialize函数,这是一个初始化函数。
之前我们已经分析过了,只有在满足一定条件的情况下才会调用这个函数。显然和rr相关的是没有去调用这个初始化的,也就不会注册回调,而回调却产生了,岂不怪哉?
查看一下pk_type的数据结构:
include/linux/netdevice.h
1053 struct packet_type {
/* This is really htons(ether_type). */
struct net_device
/* NULL is wildcarded here
(*func) (struct sk_buff *,
struct net_device *,
struct packet_type *,
struct net_device *);
struct sk_buff
*(*gso_segment)(struct sk_buff *skb,
int features);
(*gso_send_check)(struct sk_buff *skb);
struct sk_buff
**(*gro_receive)(struct sk_buff **head,
struct sk_buff *skb);
(*gro_complete)(struct sk_buff *skb);
*af_packet_
struct list_
眼前再次一亮,看这个关键信息:
struct net_device
/* NULL is wildcarded here
看见 wildcarded这个单词了吧?翻译过来即“通配”!
我猜测其意思就是说当dev为NULL的时候就不区分是哪个网卡的arp包了(它也没法做匹配,因为没有上层的net_device结构信息),于是不管来自哪个网卡的数据,都调用这个回调接口,所以在rr模式下的网卡就悲剧了!
我再次猜测这应该是kernel的一个bug,鉴于修改起来并不麻烦:
/*initialize packet type*/
pk_type-&type = cpu_to_be16(ETH_P_ARP);
pk_type-&dev = NULL;
pk_type-&func = rlb_arp_
/* register to receive ARPs */
dev_add_pack(pk_type);
只需把L834修改成: pk_type-&dev =
然后再验证一下,奇迹产生了,终于不再oops了!
为了再次验证一下我的修改是否有问题,我查看了一下最新的内核代码,截止到本文写作时内核版本是3.9.7
drivers/net/bonding/bond_alb.c
910static int rlb_initialize(struct bonding *bond)
struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond));
struct rlb_client_info
int size = RLB_HASH_TABLE_SIZE * sizeof(struct rlb_client_info);
new_hashtbl = kmalloc(size, GFP_KERNEL);
if (!new_hashtbl)
return -1;
_lock_rx_hashtbl_bh(bond);
bond_info-&rx_hashtbl = new_
bond_info-&rx_hashtbl_used_head = RLB_NULL_INDEX;
for (i = 0; i & RLB_HASH_TABLE_SIZE; i++) {
rlb_init_table_entry(bond_info-&rx_hashtbl + i);
_unlock_rx_hashtbl_bh(bond);
/* register to receive ARPs */
bond-&recv_probe = rlb_arp_
看L934,把回调挂在了本身的数据结构里。
再看一段代码
drivers/net/bonding/bond_main.c
1448static rx_handler_result_t bond_handle_frame(struct sk_buff **pskb)
struct sk_buff *skb = *
struct slave *
struct bonding *
int (*recv_probe)(const struct sk_buff *, struct bonding *,
struct slave *);
int ret = RX_HANDLER_ANOTHER;
skb = skb_share_check(skb, GFP_ATOMIC);
if (unlikely(!skb))
return RX_HANDLER_CONSUMED;
slave = bond_slave_get_rcu(skb-&dev);
bond = slave-&
if (bond-&params.arp_interval)
slave-&dev-&last_rx =
recv_probe = ACCESS_ONCE(bond-&recv_probe);
if (recv_probe) {
ret = recv_probe(skb, bond, slave);
if (ret == RX_HANDLER_CONSUMED) {
consume_skb(skb);
if (bond_should_deliver_exact_match(skb, slave, bond)) {
return RX_HANDLER_EXACT;
skb-&dev = bond-&
if (bond-&params.mode == BOND_MODE_ALB &&
bond-&dev-&priv_flags & IFF_BRIDGE_PORT &&
skb-&pkt_type == PACKET_HOST) {
if (unlikely(skb_cow_head(skb,
skb-&data - skb_mac_header(skb)))) {
kfree_skb(skb);
return RX_HANDLER_CONSUMED;
memcpy(eth_hdr(skb)-&h_dest, bond-&dev-&dev_addr, ETH_ALEN);
L1470有对指针存在与否的判断。
drivers/net/bonding/bond_main.c
res = netdev_rx_handler_register(slave_dev, bond_handle_frame,
new_slave);
这里才是注册回调,也就是说,在中间插入了一个函数来检查recv_probe的存在与否,也就能够区分属于那种bond模式。
netdev_rx_handler_register属于网络子系统的核心函数了。
可以看到新版本对其做了很大的修改,接下来我从SDK所用内核2.6.32.27开始往后跟踪,终于在2.6.35版本看到了和我一致的修改:
/*initialize packet type*/
pk_type-&type = cpu_to_be16(ETH_P_ARP);
pk_type-&dev = bond-&
pk_type-&func = rlb_arp_
对bond的创建操作、模式设置操作是在/sys下完成的
open是通过ifconfig来触发的。
=== 全文完 ====
若觉得内容不错,请点击左上角的"赞"图标,以优化网站的内容呈现。
另外,请及时验证注册邮箱,否则收不到21QA发出的红包。
作为网站wiki发表:
你可以使用订阅来关注这个问题使用邮箱订阅:登录后可以订阅更新使用RSS订阅:
回答与评论
问题的标签:
问题发表于: 03 七月 '14, 21:41
问题被查看: 4,166 次
最近更新: 03 七月 '14, 21:54我的头发前面有好多碎头发,怎么办??
我的头发前面有好多碎头发,怎么办??
病情描述(发病时间、主要症状、症状变化等):我的头发前面有好多碎头发,怎么办??
医院出诊医生
擅长:小儿内科
擅长:外科
共2条医生回复
因不能面诊,医生的建议仅供参考
职称:护士
专长:腓总神经损伤,面神经瘤,尾神经丛痛,颈部血管损伤,...
&&已帮助用户:367
问题分析:这样的情况只能使用定型产品来帮助头发服帖。意见建议:每天按摩头皮,用梳子梳头就差不多了
建议您在洗头发的时候把洗发露中加入少许生姜沫或用生姜浸泡过的水洗头发,您也可以用啤酒洗头发,啤酒与水的比例是1:5.最好建议一天在食用1两核桃仁和甜杏仁
职称:医师
专长:头痛,中风,腰痛
&&已帮助用户:170205
指导意见:你好,这属于正常的,不用担心的,平时最好饮食尽可能广泛多样化.多吃高蛋白优质蛋白食物多吃蔬菜水果.不要喝酒咖啡.戒烟.不要接触有毒物质和辐射源,最好补充维生素。
问额头前碎头发特多,是什么原因
职称:医生会员
专长:高血压、糖尿病、心血管疾病
&&已帮助用户:11257
问题分析:你好,像你这种情况在中医属于肾精不足和气血亏虚有关,另外与你不合理作息时候和生活工作压力都有关。意见建议:建议你缓解压力,另外注意休息,你可以吃归脾丸和六味地黄丸补益气血和肾精,另外你可以在洗头时加入些中药像是墨旱莲和何首乌均有好的生发乌发的作用,第三你可以平时多吃些补肾补血的食物,像是黑豆,黑芝麻,黑米,大枣
问之前因为额头上有很多碎头发,就用刀给刮了,连美?之...
职称:医师
专长:心脑血管
&&已帮助用户:234803
病情分析: 你好,你所说的情况是因为把头发刮了的过,不要过于担心,要放松心情,以免造成心理压力。意见建议:建议多注意休息,适当的运动,以清淡饮食为主,比如小米粥之类的,还要忌口辛辣饮食哦!海鲜牛羊肉也要注意哦!可以抹一些脱毛膏的哦。
问额头碎头发怎么办
职称:国家二级心理咨询师
专长:青少年心理咨询
&&已帮助用户:205
你的描述考虑是属于先天性,你好,这个情况一般需要及时整形医院检查试试啊.
问发际线碎头发多,而且长不长,怎么...
职称:医生会员
专长:胃、十二指肠溃疡,慢性胃炎,慢性胆囊炎
&&已帮助用户:91759
问题分析:碎头发太多的原因是头发脆,头发一脆就很容易断掉,形成碎发,平时用丝质洗发水,改善发质的脆度,尽可能少用或不用吹风,免得头发伤的更加深。意见建议:梳头时尽可能用木梳,以防塑料梳产生的静电伤害头发,学会梳头的方法,先梳发梢,再梳发身,最后从根部一直梳到发梢,减少因头发不通顺时的拉伤
问我的额头上的碎头发很多,怎么弄掉啊很难看的啊感谢医生...
职称:医生会员
专长:外科、尤其擅长、早泄、骨科等疾病
&&已帮助用户:56016
问题分析:你说的应该是你的小绒毛吧,其实美容院就有提高发际线的项目,就是用激光打。意见建议:这个可以不去除呀,如果你实在想去除的话,可以到美容院去看看,可以去掉的。
问扎完头发为什么前面有碎发竖起
职称:医生会员
专长:宫颈炎,子宫肌瘤,痛经
&&已帮助用户:70254
病情分析:这种情况是因为前面的头发还没长长,太短造成的。意见建议:可以选择换个发型或者配合头箍固定。不用在意这个问题。
关注此问题的人还看了
大家都在搜:
免费向百万名医生提问
填写症状 描述信息,如:小孩头不发烧,手脚冰凉,是怎么回事?
无需注册,10分钟内回答
百度联盟推广
百度联盟推广
搜狗联盟推广
同类科室问答排行x
日累计回答人
日累计回答人
日累计回答人
评价成功!人次在我爱卡申请信用卡
人次申请贷款 255家 银行和金融机构授权合作
后使用快捷导航没有帐号?
查看: 608|回复: 1
快贷通话记录真少怎么破
阅读权限40
在线时间39 小时
普卡IV级, 经验值 833, 距离下一级还需 366 经验值
在线时间39 小时
.cn/i/a82,c60,i0,m202,8a1,8b2,h快贷被拒原因一直是通话记录真少要怎么破,是指的我填写的那个紧急联系人还是指总体打电话记录少
阅读权限50
在线时间35 小时
在线时间35 小时
每天打几个,叫人配合下,通话几分钟
金点子勋章
金点子勋章
热门信用卡中心
热门信用卡申请
信用卡问答
Powered by Discuz! X3&
我爱卡客服1257AD 步弓配合 教你如何破步兵方阵【人人网 - 分享】
1257AD 步弓配合 教你如何破步兵方阵
分享这个视频的人喜欢
分享这个视频的人也爱看
最后一天短发素颜
阿西吧!???
cosplay失败!
热门视频推荐
热门日志推荐
同类视频推荐
北京千橡网景科技发展有限公司:
文网文[号··京公网安备号·甲测资字
文化部监督电子邮箱:wlwh@··
文明办网文明上网举报电话: 举报邮箱:&&&&&&&&&&&&
请输入手机号,完成注册
请输入验证码
密码必须由6-20个字符组成
下载人人客户端
品评校花校草,体验校园广场

我要回帖

更多关于 1257ad怎么安装 的文章

 

随机推荐