什么是Oops?linux之Oops原理及解析
前言
什么是Oops?从语言学的角度说,Oops应该是一个拟声词。当出了点小事故,或者做了比较尴尬的事之后,你可以说"Oops",翻译成中国话就叫做“哎呦”。“哎呦,对不起,对不起,我真不是故意打碎您的杯子的”。看,Oops就是这个意思。
(资料图片)
在Linux内核开发中的Oops是什么呢?其实,它和上面的解释也没什么本质的差别,只不过说话的主角变成了Linux。当某些比较致命的问题出现时,我们的Linux内核也会抱歉的对我们说:“哎呦(Oops),对不起,我把事情搞砸了”。Linux内核在发生kernel panic时会打印出Oops信息,把目前的寄存器状态、堆栈内容、以及完整的Call trace都show给我们看,这样就可以帮助我们定位错误。
1. Oops的产生
挑选一位随机幸运内核,insmod oops.ko产生如下标准打印,产生了一段如下图打印: Oops 信息包含以下几部分内容:
一段文本描述信息。 比如类似“Unable to handle kernel NULL pointer dereference at virtual address 00000000”的信息,它说明了发生的是哪类错误Oops 信息的序号 比如是第 1 次、第 2 次等。这些信息与下面类似,中括号内的数据表示序号。 Internal error: Oops: 817 [#1] PREEMPT SMP ARM内核中加载的模块名称(也可能没有),以下面字样开头 Modules linked in:xxx发生错误的 CPU 的序号,对于单处理器的系统,序号为 0 CPU: 1 PID: 1412 Comm: insmod Tainted: P O 4.9.37 #1 下图是关于Tainted(污染)后面字段具体含义(可以注意到,第3部分加载的模块后面有些模块带有(PO)等字样,实际上就是和这里是相同的含义),源码路径: \kernel\panic.c
/** * print_tainted - return a string to represent the kernel taint state. * * "P" - Proprietary module has been loaded.(没有模块MODULE_LICENSE或者带有insmod认为是与GPL不相容的的MODULE_LICENSE的模块被认定是专有的) * "F" - Module has been forcibly loaded.(通过“insmod -f”被强制装载的模块) * "S" - SMP with CPUs not designed for SMP.(oops发生在SMP内核中,运行于没有证明安全运行多处理器的硬件。 当前这种情况仅限于几种不支持SMP的处理器) * "R" - User forced a module unload.(rmmod –f强制卸载) * "M" - System experienced a machine check exception.(机器检查异常) * "B" - System has hit bad_page.(页释放函数发现了一个错误的页引用或者一些非预期的页标志) * "U" - Userspace-defined naughtiness. * "D" - Kernel has oopsed before.(内核以前已经OOPS过了) * "A" - ACPI table overridden. * "W" - Taint on warning. * "C" - modules from drivers/staging are loaded. * "I" - Working around severe firmware bug. * "O" - Out-of-tree module has been loaded.(树外模块加载) * "E" - Unsigned module has been loaded.(未签名模块加载) * "L" - A soft lockup has previously occurred.(发生过软锁定) * "K" - Kernel has been live patched. * * The string is overwritten by the next call to print_tainted().*/
发生错误时 CPU 的各个寄存器值
当前进程的名字及进程 ID Process insmod (pid: 1412, stack limit = 0x9eb8e210) 这并不是说发生错误的是这个进程,而是表示发生错误时,当前进程是它。错误可能发生在内核代码、驱动程序,也可能就是这个进程的错误
栈信息
栈回溯信息,可以从中看出函数调用关系
出错指令附近的指令的机器码(出错指令在小括号里),也有可能没有 关于错误码,如下为armv7架构定义的FSR(错误状态寄存器,分为DFSR和IFSR,根据不同处理器使用不同的FSR)的错误代码,实际上源码中,oops的错误码就是通过汇编获取的寄存器值,如下为手册中IFSR获取错误码的方法(DFSR同样) 如下为DFSR结构(IFSR关于FS码是相同的) 对于上面0x817的错误码解释为:写入内存时报错,错误原因是:Translation fault 也就是页表转换出现问题
从上可以大致知道Oops 可以看成是内核级的Segmentation Fault。应用程序如果进行了非法内存访问或执行了非法指令,会得到Segfault信号,一般的行为是coredump,应用程序也可以自己截获 Segfault信号,自行处理。如果内核自己犯了这样的错误,则会打出Oops信息,也就是说Oops一般是由于内存原因导致的。
2.源码分析
2.1 溯源过程C部分
直接通过打印找到产生的对应代码,oops的打印为__die函数(\arch\arm\kernel\traps.c)。 第265行打印就是oops信息,后边三个字符串来自三个编译开关,分别表示允许抢占,支持对称多处理器,采用ARM指令。 第269行忽略,备注也写的陷阱和错误数在ARM上几乎没有意义 第273行,打印加载的模组信息 第274行,打印寄存器信息(CPU号,任务名,污染原因,PC,LR(链接寄存器,保存函数返回的地址),SP(栈指针),IP,FP(栈顶指针),R10-R0等寄存器值,CPU的Flags (Flags后边大写字母表示相应的位为1,小写表示为0)【指NZCV这几个状态寄存器】) 第275行,打印了当前出错的进程名,pid值,和堆栈限制,在ARM平台栈的增长方向是从高地址向低地址,sp指针是当前的栈顶,stack limit打印的是栈的限制,表示最小地址是多少,如果SP比这个值小,那么表示栈溢出了。 第279行之后打印堆栈和函数的调用回溯。 如下为pt_reg的定义 进一步溯源,深入探究oops源码,调用__die的函数为die(\arch\arm\kernel\traps.c): 第344行:调用oops_begin,在这个地方关闭本CPU中断,获取CPUID, 对oops上锁.如果同一个CPU已经在处理die了,那么就是嵌套die,不需要再获取锁了 第347行获取cpu是不是处于用户模式,如果不是用户模式并且report_bug的返回值如果不等于BUG_TRAP_TYPE_NONE打印会变为”Oops - BUG”,如果是这种情况,就比较严重,一般会打印如下 第355行:die的最后是调用oops_end,这里边的操作很多是和oops_begin相对应的,然后调用oops_exit,该函数会打印trace结束标志,调用kmsg_dump(KMSG_DUMP_OOPS)。但是如果oops产生在中断过程中,oops_end函数会直接产生panic或者如果配置宏CONFIG_PANIC_ON_OOPS_VALUE的值为1(panic_on_oops),则也会直接panic 通常情况由于空指针或者错误的虚拟地址导致的oops,函数为:__do_kernel_fault。源码位于\arch\arm\mm\fault.c 第138行:尝试进行异常修复,这里有一套很复杂的内存异常回复处理,不深入,失败后会继续向下执行 第152行:执行完前面的die操作后,直接干掉出问题的进程 继续溯源,可以找到在\arch\arm\mm\fault.c中发现两个函数都有调用__do_kernel_fault。分别是do_bad_area和do_page_fault,这里先不具体分析其源码,继续溯源
调用do_bad_area函数的有如下函数:do_alignment,do_translation_fault,do_sect_fault 调用do_page_fault函数的有:do_translation_fault 而最终汇总成如下该数组 最终由函数do_DataAbort调用
2.2溯源过程汇编部分
以下部分为汇编过程,并且涉及到部分内存申请流程。 当内核申请内存时,虚拟内存映射到实际物理内存,系统自动触发缺页中断,缺页中断机制根据所访问页面的状态来分配物理页面并建立映射关系。触发缺页中断的情况有两种 , 第一,程序访问了非法地址(我们主要分析的);第二,访问的地址是合法的,但是该地址还未分配物理页框。
当程序访问的虚拟页面没有进行过物理页面的映射时,会通过发生缺页中断来分配和映射物理页面。发生缺页中断时,处理器会跳转到异常向量表 Data abort 向量中开始执行缺页中断的汇编阶段,这个阶段与处理器架构紧密联系,例如对于ARMv7-A架构,汇编处理流程为:__vectors_start -> vector_dabt -> __dabt_usr/__dabt_svc -> dabt_helper -> v7_early_abort 如下为中断向量表,源码位于:arch\arm\kernel\entry-armv.S
以svc为例,会调用dabt_helper 最后dabt_helper会bl到CPU_DABORT_HANDLER这个函数中,根据使用的架构不同,该函数使用的可能会不相同 如下使用的v7架构,使用函数为v7_early_abort v7_early_abort源码位于:\arch\arm\mm\abort-ev7.S 这个函数实际上就是实现了从arm中获取FSR(错误状态寄存器)和FAR(错误地址寄存器,也就是要映射的地址),r0=地址,ri=错误码,r2=pt_regs(在对应的__dabt_svc中已经获取)
2.3 do_DataAbort的函数注册
从2.1和2.2分别对C部分和汇编部分进行简单的分析,下面来看一下do_DataAbort是如何识别不同的页面分配的 如下函数为对fsr_info数组的注册函数,因为do_DataAbort实际上就是根据fsr_info这个数组进行函数调用的 全局搜索hook_fault_code可以发现如下:实际上也就是对fsr_info数组补齐了段错误的函数回调 也就是说,接下来只要对着fsr_info数组这个数组进行分析,就能知道oops的全部产生原因了
2.4 总流程图
3.oops产生原因分析
如下表,为汇总的frs_info,包括对齐,页表转换,页,段权限 我们继续对源码进行分析。如下图为do_DataAbort函数中对fsr寄存器读取数据的处理。也就是对fsr寄存器取fs,因为fs分布为fs[3:0]位于bit3:0,fs[4]位于bit10,所以处理后对fsr_info进行直接查表即可 第547行如上分析 第550行执行表中对应函数,只有do_bad会返回1,其余函数皆返回0. 第561行,执行由于do_bad对应的fsr导致的错误,arm_notify_die中判断当前CPU是否处于用户态,如果不是则执行die
3.1 do_translation_fault
static int __kprobesdo_translation_fault(unsigned long addr, unsigned int fsr, struct pt_regs *regs){/* …… */#define TASK_SIZE (UL(CONFIG_PAGE_OFFSET) - UL(SZ_16M))/* 如果是用户空间的地址,用do_page_fault处理 */ if (addr < TASK_SIZE) return do_page_fault(addr, fsr, regs);/* 至此的地址都是内核空间,如果regs显式为用户空间。说明两者冲突,进入bad_area */ if (user_mode(regs)) goto bad_area; /* 中间略过一部分代码 */ return 0;bad_area: do_bad_area(addr, fsr, regs); return 0;}
如下图为do_bad_area源码 第195判断是否处于用户模式,如果不是就Oops
3.2 do_page_fault
直接看下图流程即可,不进行具体分析,总之在处于非用户模式下缺页且处理出现错误,会执行__do_kernel_fault。题外:do_page_fault完成了真正的物理页面分配工作,另外栈扩展、mmap的支持等也都在这里。对于物理页面的分配,会调用到do_anonymous_page->。。。-> __rmqueue,__rmqueue中实现了物理页面分配的伙伴算法
3.3 do_sect_fault
源码如下,一旦出错,直接do_bad_area
3.4 bad_mode
bad_mode(中断异常)也可以导致die并且最终直接panic,源码如下 引用流程:xx中断异常 -> xx_invalid -> common_invalid -> bad_mode
3.5总结
4. Oops的解决思路
1.先看是否由BUG/BUG_ON引起,如果是BUG引起的,则直接看产生条件,这种具体情况具体分析 2.如果不是,则可以根据Oops现场打印进一步分析。我们继续看在第一章中产生的Oops信息。如下图。首先直接看到了错误原因,空指针引起的,然后看到错误码0x817:即写内存时,缺页,映射失败。接下来直接看PC指针就行了 3.PC is at myoops_test_init +0xc/0x14 确定了出问题的函数位置,然后看一下出错进程是insmod 也就是说就是在insmod oops.ko驱动时后出的问题。接下来需要对该进程增加调试信息,以供我们能够找到出错位置 4.增加 –g编译选项,见下图。如果file带有stripped,说明makefile或者脚本中存在选项,将其暂时屏蔽即可。 5.对于内核增加调试信息,直接搜索debug_info,将其打开即可 6.使用对应工具链的gbd定位问题源码所在位置 查看代码(默认显示10行) l/list 例:l *(函数名+偏移) 然后根据定位到的对应源码上下文继续查找问题即可 7.使用addr2line定位内核中问题源码。如下图为之前出现问题的一串oops打印。可以发现问题出现在dwc2_queue_transaction。我们直接找到内核对应的符号表,找到该函数对应内核的所在位置 确定其偏移为 0x8054ced8+0xf8=0x8054CFD0 使用命令 xxx(工具链)-addr2line -C -f -e vmlinux 8054CFD0,确定到了问题所在行数2805 附addr2line参数说明: (1).-a:在函数名、文件名和行号信息之前,以十六进制形式显示地址。 (2).-b:指定目标文件的格式为bfdname。 (3).-C:将低级别的符号名解码为用户级别的名字。 (4).-e:指定需要转换地址的可执行文件名,默认文件是a.out。 (5).-f:在显示文件名、行号信息的同时显示函数名。 (6).-s:仅显示每个文件名(the base of each file name)去除目录名。 (7).-i:如果需要转换的地址是一个内联函数,则还将打印返回第一个非内联函数的信息。 (8).-j:读取指定section的偏移而不是绝对地址。 (9).-p:使打印更加人性化:每个地址(location)的信息都打印在一行上。 (10).-r:启用或禁用递归量限制。 (11).–help:打印帮助信息。 (12).–version:打印版本号。
进阶:反汇编方案,适合高手 使用命令:arm-seev100-linux-gnueabihf-objdump -d oops.ko > test.s 然后直接生撸汇编,从PC可以看出出错在0xc。此时r3=0,r2=1。Str即将r2中数据给到r3指向的内存即0。而0这个内存地址很明显是非法的
标签:
相关推荐:
精彩放送:
- []神开股份:公司2023年第一季度报告拟定于4月29日披露
- []美原油交易策略:全球股市普遍下跌,油价延续跌势
- []和仁科技:控股股东的股份协议转让事项还在推进中,尚未完成,目前通策医疗未向公司派驻管理人员
- []通关后香港三楼市辣招税款录得5.56亿港元 按月反弹66%
- []天天快报!北京保险产业园投控拟发行7亿元中票 用于偿还旧债
- []时讯:瀛通通讯:公司将按法律法规要求对项目实施情况进行披露
- []午间主力抛售的50只个股
- []基金最新动向:走访这10家公司
- []当前速读:跨行查询余额要收手续费吗
- []今日观点!基金投资入门与技巧
- []全球看热讯:如何退出相互宝 相互宝怎么退出
- []环球今热点:全球航空运力有望在5月破亿,中国三大航司国内运力已全面复苏
- []每日讯息!怎么关花呗借呗,有以下两大点
- []焦点速递!房贷利率2022新规,分为以下三种利率
- []奉化中学旁边楼盘_奉化中学一本率
- []世界时讯:新世界:公司目前没有申请免税商品经营牌照
- []每日快看:“名下无房”的马斯克,大举买地!宏大计划被曝光
- []热资讯!湖北文旅集团6亿元超短期融资券将兑付 利率2.86%
- []热文:光环新网:公司将根据自身发展情况,充分利用资本市场的优势和支持,综合考量各种因素,适时进行资本运作
- []热文:湖州长兴西峰坝村1宗宅地拟于3月31日出让 起价7152万元
- []环球新消息丨股市蒸发的钱去哪儿了,被用户获利分走了
- []世界速看:如何开基金账户
- []【全球速看料】2021全球gdp排名完整名单,中国位居第二名
- []2020年招商银行商业贷款利率
- []环球微动态丨白云机场2月旅客吞吐量增逾四成,一线机场免税商业加速恢复
- []今日热搜:散户炒股技巧
- []【天天速看料】重磅!金茂又一封面力作首发!谁将成为下一个价值爆发热土?
- []天天即时看!包钢股份:公司2023年经营预算中稀土精矿预算数量为32万吨(含REO50%),折合氧化物16万吨
- []今日要闻!多家银行迎来新任副行长 银行高管跨行调整动作频繁
- []环球快报:中国金茂5亿元中票将于3月19日兑付 利率3.28%
- []当前热门:北京住总房地产:同意杨永波、李远方委任公司董事
- []当前观点:商旅回暖超预期,国内国际商务出行或将迎来新峰值
- []贷款买车需要什么手续和证件
- []好玩的地下城手游推荐 受欢迎的地下城手游2023
- []世界热消息:创业板什么时候实施20%
- []世界快资讯:保险怎么上
- []天天视点!a股开交易时间
- []当前讯息:中旅旅行雷海粟:出境差旅及会展等刚性业务增长高于传统旅游出行
- []车辆泡水保险公司怎么赔
- []全球视点!深圳人才安居集团完成发行10亿短期融资券 利率2.60%
- []【全球热闻】国信期货早评:美初请失业金人数超预期,金银震荡偏强
- []京东集团2022年净收入破万亿元 京东手机多举措携手品牌商家实现高质量增长
- []百大集团:请查阅公司即将于2023年3月18日发布的年报
- []*ST海伦:截至2023年2月20日,公司股东总数为30514户
- []长和就香港联合船坞申改划成大型综合私人住宅及公共房屋发展
- []世界快资讯:杭州城投10.7亿元公司债将于3月20日付息 利率3.40%
- []神州优车被强制执行19亿元 法定代表人为陆正耀
- []【BT金融分析师】甲骨文被认为已被时代淘汰,分析师称不要忽视其超高盈利能力
- []全球观天下!北京未来科学城集团40亿元私募债券项目更新至“已反馈”
- []微头条丨美丽生态:请关注公司披露的内部控制相关制度、每年的年度内部控制自我评价报告以及内部控制鉴证报告
- []每日观点:粮食股票排行前十名,粮食龙头股盘点
- []世界热议:现在才开始计划“五一”旅游?晚了
- []环球动态:余额宝上限是多少
- []焦点要闻:关于猩猩的电影有哪些?大猩猩资料介绍?
- []环球热点评!高圆圆和谢霆锋演的电影叫什么?讲述了什么剧情?
- []时讯:平安普惠是正规公司吗 平安普惠是不是正规公司
- []闲花野草逢春生是什么歌曲?闲花野草逢春生歌词介绍?
- []【世界速看料】浪胃仙大胃王是男是女?浪胃仙大胃王资料介绍?
- []环球热点!基金定投的正确方法和技巧,有以下四点
- []每日消息!现在活期存款利率是多少2022,基准利率是0.35%
- []动态焦点:英魂之刃手游宙斯怎么出装好?英魂之刃手游宙斯出装攻略?
- []三山五岳指的是什么?三山五岳资料介绍?
- []全球快消息!各种有机化合物燃烧的现象有哪些?有机物的燃烧现象归纳总结
- []世爵是什么车?世爵品牌资料介绍?
- []lol一共有多少英雄?lol所有英雄资料介绍?
- []环球速递!大宗交易额翻倍,长租公寓再成资本“香饽饽” | 租住资管
- []热点在线丨上交所基础设施公募REITs市值合计604.33亿元
- []清明的时候吃什么食物?清明有哪些习俗?
- []艾德曼首创使用引领镁铝合金大势,成高端安全门消费者首选
- []快资讯丨每日互动:公司成长至今,各项业务的开展凭借的都是公司多年来的技术积累和研发驱动
- []环球快消息!科新机电实控人林祯华三兄弟一年多时间里偷摸减持未公告:被出具监管函
- []【世界独家】佳兆业集团复牌后跌超32% 2021年亏损127.27亿元
- []每日看点!标榜股份:2023年2月28日股东人数为7527
- []德尔股份:为保证所有投资者公平地获取公司的信息,公司在定期报告中会披露对应时点的股东人数
- []观察:花旗指暂不认为内地CPI低预期是消费走弱的稳固证据
- []环球新消息丨小市值股票是什么意思,小盘股优缺点
- []环球滚动:十一银行放假吗能存款吗
- []2021年中国GDP百强城市排名,上海排第一
- []天天热讯:美兰空港:亏损
- []最资讯丨东北证券:混动市场锋芒初露 自主车企如日方升
- []商务活动叠加旅游出行,北上广经济型酒店集体涨价
- []环球最新:无法使用花呗购物解除需要多久
- []抖音“心比天高”:2025年再造一个美团到店酒旅?
- []市井消费,尽显中国经济“韧劲”
- []世界微动态丨尿道肉阜严重吗?_女性尿道肉阜会自愈吗
- []基金最低买多少
- []当前观点:打工人住不起快捷酒店
- []传度小满最快上半年赴港上市 将成为百度AI生态下又一独立上市公司
- []环球热消息:稳支柱防风险 房地产“精准拆弹”力度有望加大
- []当前时讯:东方国信:据预测工业界在1-2年内会形成可用的小型化大语言模型,包括开源或商用
- []广东省福建古田商会乡贤共聚深圳,叙乡情谋发展
- []支持团购商品房,补贴200元/平米…驻马店、大连出招!福建研究调整楼市政策
- []丁祖昱:多地二手房市场回温,北京、上海走量不涨价
- []3D打印赛道现大动作,未来市场规模有望达到6000亿元!这些概念股获北上资金加仓
- []速读:从夫妻之争到股权之争?创始人前妻深夜出手,千亿房企股权竞拍后事耐人寻味
- []迎驾贡酒:您的意见已转达迎驾电商,祝投资顺利!
- []三力士:公司相关信息请在中国证监会指定的披露媒体进行查询
- []环球讯息:富信科技:公司的核心技术为半导体制冷技术,能够实现局部、精准控温
- []中信建投:黄金是牛市回头阶段 回调建议增配
- []即时:全球购骑士卡是真是假 全球购骑士卡是不是真的
- B站注册资本增幅400%至5亿 目前由陈睿全资持股
- 光源资本出任独家财务顾问 沐曦集成电路10亿元A轮融资宣告完成
- 巨轮智能2021年上半年营收11.24亿元 期内研发费用投入增长19.05%
- 红枣期货尾盘拉升大涨近6% 目前红枣市场总库存约30万吨
- 嘉银金科发布2021年Q2财报 期内净利润达1.27亿元同比增长208%
- 成都银行2021上半年净利33.89亿元 期内实现营收同比增长17.27亿元
- 汽车之家发布2021年第二季度业绩 期内新能源汽车品牌收入增长238%
- 中信银行上半年实现净利润290.31亿元 期末不良贷款余额706.82亿元
- 光伏概念掀起涨停潮交易价格创新高 全天成交额达1.29亿元
- 上半年生物药大增45% 关键财务指标好转营收账款持续下降
- 全球观速讯丨年超7000亿!银发族成文旅消费大户,全国政协委员安庭:充分开发“银发经济文旅消费时段”
- 每日热点:社保2022年新政策,有哪些
- 购物津贴是什么,购物津贴使用规则是什么
- 速讯:中泰策略徐驰:如何看待本轮美元指数反弹及演绎?
- 视焦点讯!露营游爆发式回归:营地帐篷订满火线招人,“周末停车场都不够用”
- 明星基金经理“隐形”重仓股曝光!冯明远加仓福达股份 刘彦春减持天味食品
- 世界今日报丨养老概念股 养老的概念股一览
- 中国农业银行代码
- 环球通讯!建行网银转账手续费
- 热讯:养老保险哪种最好 买哪种养老保险比较好
- 世界看点:中国最好的理财平台是哪一个,十大理财平台一览
- 再造万亿商旅市场服务,酒店从数字化改革做起
- 全球播报:三大交易所是哪三个
- 焦点要闻:越南城市vs中国城市_越南城市
- 今日热闻!健康的用英语怎么说fine_健康的用英语怎么说
- 今日报丨工商银行转账手续费是怎么收的,分以下三种情况
- 焦点日报:盈利和赢利和营利啥区别
- 圣泉申购是什么板块
- 全球今日讯!核电龙头股有哪些
- 转股是什么意思
- 【天天新要闻】股票停牌是好是坏
- 上海综合保险怎么查询 有三种方法
- 环球关注:山西省高平市加快推进整市屋顶分布式光伏发电项目
- 农行证书如何更新
- 如何投资理财 怎么投资理财
- 世界微资讯!去杠杆化通俗来讲是什么意思
- 焦点资讯:方便面巨头盈利难
- 焦点速递!资源控股获独立第三方认购1.22亿股?代价为1220万港元
- 观天下!索菲亚列夫斯基足球俱乐部_关于索菲亚列夫斯基足球俱乐部介绍
- 全球热门:铜龙头股票有哪些
- 世界新消息丨官宣!2月新能源汽车厂商销量排行榜,特斯拉/五菱/埃安进前四
- 2022年一年期贷款利率,基准利率为4.35%
- 什么叫多头市场
- 【新要闻】三胎概念股龙头一览,十大龙头股票盘点
- 环球微速讯:结算方式有哪几种,分为以下四种
- 全球今日报丨佳兆业发布2021年报并申请复牌 期内亏损127.27亿
- 佳兆业美好预计2022年拥有人应占利润同比增长超过60%
- 天天观速讯丨小儿抽搐的急救措施_小儿抽搐
- 支付宝体验金有什么用 支付宝体验金的用途是什么
- 【环球报资讯】建设银行怎么转账,有以下八步
- 金融机构编码在哪查
- 【环球聚看点】怎么投诉农业银行
- 环球观察:1元低价股票一览表2022,十大低价股盘点
- 环球热门:河南驻马店推行“交房即交证”,支持团购商品住房
- 两次流拍后 北京孙河前苇沟地块第三次入市
- 每日热门:古鳌科技:3月8日公司高管陈崇军减持公司股份合计1.8万股
- 天天热点!中熔电气:3月8日公司高管贾钧凯减持公司股份合计2100股
- 视点!龙湖集团前2月合同销售额282.4亿元
- 每日短讯:众信旅游:3月8日公司高管冯滨减持公司股份合计30.25万股
- 焦点播报:新开源:3月8日公司高管王东虎减持公司股份合计80万股
- 环球播报:宽松的货币政策是什么意思
- 世界速读:日均存款怎么算 按以下方式计算
- 经济危机的原因,有以下五种原因
- 经济现象有哪些
- 环球今日报丨首板是什么意思,第一个涨停板
- 【天天快播报】招商蛇口1-2月签约销售金额383.1亿元 近期新增一个项目
- 世界今热点:赛特新材:3月8日公司高管汪美兰减持公司股份合计130.92万股
- 最新资讯:旭辉与恒基兆业互换石家庄、广州两项目公司股权 录得亏损5.08亿
- 朗博科技:3月2日至3月3日公司高管范小友减持公司股份合计6000股
- 瑞浦兰钧问顶电池技术迎来突破,或将加速海南新能源汽车普及
- 天天即时:泉阳泉:3月8日公司高管赵志华减持公司股份合计22.2万股
- 天天亮点!投资公司排名 投资公司的排名
- 工商银行卡支行怎么查询,有以下四种方法
- 全球热议:2022年武汉首套房贷利率,经历以下三次下调
- 每日资讯:花呗逾期了被暂停使用要多久才能恢复,一般是一周内
- 龙湖集团:2月单月实现总合同销售金额人民币174.1亿元
- 协定存款利率 协定存款的利率2021
- 每日热讯!京东集团2022年收入10462亿元 归母净利润104亿元
- 简讯:龙湖集团前2月合同销售金额282.4亿元 同比增长116%
- 太古地产2022年实现营收138亿港元 旗下多个商场零售额下降
- 规模效益稳步提升 沪市生物医药行业高质量发展
- 阳光城连续十二个月内累计新增涉案执行金额2.7亿元
- 上海电影两连板 公司称无应披露而未披露的重大事项
- 世界速读:假币收缴流程,有以下五步
- 国泰航空2022年亏损65.48亿港元,将继续提升运力重建品牌
- 焦点热讯:微粒贷可靠吗 微粒贷靠不靠谱啊
- 焦点消息!大学贷款怎么弄,有以下六步
- 天天最资讯丨基金分红什么时候发放
- 财报金选丨九龙仓集团2022年收入减少19%至180.64亿港元
- 微动态丨浙农股份:公司已推出首个农业社会化服务品牌“浙农耘”,并以此为契机推动传统农业向数字化转型
- 天天快看:温氏股份:近些年肉杂鸡市场发展较快,国内肉鸡市场现已形成黄羽肉鸡、白羽肉鸡和肉杂鸡三足鼎立的态势
- 当前资讯!财报金选丨越秀房产基金(股份代码:00405)2022年积极管理到期贷款,有效降低融资成本
- 【环球快播报】盛美上海:尊敬的投资股票解禁后股东是否决定减持主要是基于股东自身发展的规划
- 热点!利元亨:公司与宁德时代多年来保持良好的合作关系,公司有激光类设备在宁德时代试样
- 观天下!一体化供应链持续出海,京东物流2022年全球运营近90个海外仓、保税仓、直邮仓
- 财报金选·现场丨越秀房托2022年全年收入18.73亿元 同比增长4.2%
- 财报金选丨越秀房托公布2022业绩,广州IFC写字楼和酒店公寓项目表现亮眼
- 财报金选丨越秀房托公布2022年业绩,持续推进ESG管理能力
- 全球热推荐:2021年各银行房贷利率一览表,四大行房贷利率一览
- 全球实时:k线图中的三条线颜色怎么看
- 单晶硅片周评-优先保供稳价 硅片价格小幅上升(2023.3.9)
- 全球今头条!北交所股票新股申购规则,有以下四点
- 每日聚焦:个人所得税app退税流程,有以下7步
- 环球观速讯丨2023“晶澳杯”最美分布式光伏项目评选活动,正式启动!
- 全球时讯:山东富豪姐弟,卖玻尿酸大赚13亿
- 每日关注!银行储蓄利率2022年利率,各银行存款利率一览
- 今日热文:推动产业融合创新 加快绿色低碳发展“绿色能源管理创赢计划”第二季圆满收官
- 热点!上坤地产前两月合约销售6.8亿 均价9782元/平米
- 焦点观察:首次布局曼谷 太古地产2022年营业收入同比减少15%
- 要闻速递:保利发展9.40亿公司债即将付息 利率3.90%