• 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
    • / 13
    • 下载费用:30 金币  

    免费重庆时时彩预测软件: 一种多断点的软件调试装置和方法.pdf

    摘要
    申请专利号:

    重庆时时彩单双窍门 www.4mum.com.cn CN201410010606.3

    申请日:

    2014.01.09

    公开号:

    CN104778116A

    公开日:

    2015.07.15

    当前法律状态:

    授权

    有效性:

    有权

    法律详情: 授权|||实质审查的生效IPC(主分类):G06F 11/36申请日:20140109|||公开
    IPC分类号: G06F11/36; G06F9/30 主分类号: G06F11/36
    申请人: 深圳市中兴微电子技术有限公司
    发明人: 郝宇; 安康; 王志忠
    地址: 518085广东省深圳市盐田区大梅沙1号厂房
    优先权:
    专利代理机构: 北京派特恩知识产权代理有限公司11270 代理人: 张颖玲; 张振伟
    PDF完整版下载: PDF下载
    法律状态
    申请(专利)号:

    CN201410010606.3

    授权公告号:

    ||||||

    法律状态公告日:

    2018.09.18|||2016.09.14|||2015.07.15

    法律状态类型:

    授权|||实质审查的生效|||公开

    摘要

    本发明公开了一种多断点的软件调试装置和方法,该软件调试装置包括:驱动器、微处理器、指令存储器和微码集成开发环境(IDE);上述软件调试装置通过在软件程序中设置断点,获取断点信息,将断点处的指令替换成断点指令,在执行到断点指令时,上报中断、冻结流水线,根据IDE下发的命令将所述断点指令换回真实指令,解冻流水线,对断点处的真实指令进行取指,在断点指令执行的间隙将断点处的真实指令再次替换成断点指令的方法来实现多断点的软件调试。

    权利要求书

    权利要求书
    1.  一种多断点的软件调试装置,其特征在于,该软件调试装置包括:驱动 器、微处理器、指令存储器和微码集成开发环境IDE;其中,
    所述驱动器,用于获取软件程序中的断点信息,将所述断点信息发送给指 令存储器,并根据指令存储器中的断点信息将断点处的真实指令替换成断点指 令,在上报中断给IDE后,根据IDE下发的命令将所述断点指令换回真实指令, 触发微处理器解冻流水线,并在断点指令执行的间隙将断点处的真实指令再次 替换成断点指令;
    所述微处理器,用于当执行到断点指令时,通过驱动器上报中断给IDE, 冻结流水线,并根据驱动器的触发解冻流水线,对断点处的真实指令进行取指;
    所述指令存储器,用于存储断点指令和断点信息;
    所述IDE,用于为用户提供下发命令的交互界面。

    2.  根据权利要求1所述的软件调试装置,其特征在于,所述断点信息包括 断点位置地址;所述断点指令为原地跳转指令;所述断点指令执行的间隙为断 点指令在原地执行跳转的任意两次的间隙。

    3.  根据权利要求2所述的软件调试装置,其特征在于,所述驱动器,还用 于将来自所述IDE的命令解析成具体的寄存器或存储器读写信号通过总线发送 给所述微处理器和/或指令存储器。

    4.  根据权利要求3所述的的软件调试装置,其特征在于,所述驱动器,还 用于将断点位置和断点处的真实指令存储到IDE所在的上位机。

    5.  根据权利要求4所述的软件调试装置,其特征在于,所述微处理器包括: 流水线和调试???;其中,
    所述流水线,用于当执行到断点指令时,解析发现当前指令为断点指令后 向所述调试??榉⑺屯ㄖ?,并在解冻后对断点处的真实指令进行取指;
    所述调试???,用于当接收到来自所述流水线的通知后,冻结流水线,上 报中断给驱动器,并根据驱动器的触发解冻流水线。

    6.  根据权利要求5所述的软件调试装置,其特征在于,所述调试???,具 体用于当接收到来自所述流水线的通知后,产生停止信号来冻结流水线。

    7.  一种多断点的软件调试方法,其特征在于,该软件调试方法包括:
    微码集成开发环境IDE在软件程序中设置断点;
    驱动器获取软件程序中的断点信息,根据所述断点信息将断点处的真实指 令替换成断点指令;
    当执行到所述断点指令时,微处理器上报中断给IDE,并冻结流水线;
    驱动器根据IDE下发的命令将所述断点指令换回真实指令;
    微处理器解冻流水线,对断点处的真实指令进行取指;
    驱动器在断点指令执行的间隙将断点处的真实指令再次替换成断点指令。

    8.  根据权利要求7所述的软件调试方法,其特征在于,所述断点信息包括 断点位置地址。

    9.  根据权利要求8所述的软件调试方法,其特征在于,该软件调试方法还 包括:驱动器将断点位置和断点处的真实指令存储到IDE所在的上位机。

    10.  根据权利要求7所述的软件调试方法,其特征在于,所述驱动器根据 IDE下发的命令将所述断点指令换回真实指令,微处理器解冻流水线,对断点 处的真实指令进行取指,驱动器在断点指令执行的间隙将断点处的真实指令再 次替换成断点指令为:驱动器根据IDE下发的单步操作命令或继续操作命令, 将所述断点指令换回真实指令,在换回真实指令时,微处理器解冻流水线,对 断点处的真实指令进行取指,在对所述真实指令取指完成后,在任意两次执行 断点指令的间隙将断点处的真实指令再次替换成断点指令。

    说明书

    说明书一种多断点的软件调试装置和方法
    技术领域
    本发明涉及软件调试技术,尤其涉及一种多断点的软件调试装置和方法。
    背景技术
    微处理器调试技术广泛地应用于软件故障定位、软件代码分析以及逆向工 程领域,对微处理器的设计和使用有至关重要的作用。
    对微处理器的软件进行调试一般包括以下两个方面的内容:在软件程序中 设置断点,使程序执行到所设置的断点位置时产生中断并停止执行;用户可以 对程序执行单步操作或使之摆脱中断状态继续往下执行。
    从上述内容可以看出,断点技术是微处理器的软件调试中不可或缺并有决 定性作用的技术。当前的断点技术主要分为两种:
    第一种,硬件断点的方案。这种技术采用若干个断点寄存器来存储断点位 置的指针,在微处理器执行指令时,根据配置不断将所执行指令的指针与断点 寄存器中的断点指针进行对比,当发生匹配时,产生中断并冻结微处理器的流 水线跳入特定程序段进行处理。这种硬件断点的显而易见的缺点就是,由于断 点寄存器的数量限制,硬件断点只能实现数量有限的几个断点,在调试过程中 会有很多的限制。
    第二种,软件多断点方案。这技术当前使用非常广泛,一般做法是将微处 理器执行的指令存储器中的断点位置的指令替换成断点指令,并将断点处的真 实指令备份到另一个存储器中,当微处理器执行到断点位置时,处理器流水线 解析断点位置处的指令,获知该断点位置处的指令为断点指令后产生中断,并 冻结流水线跳入指定程序段进行处理,在产生中断后使用高级语言来解析该断 点处的真实指令,利用PC++来使程序跳入断点后一条指令开始执行。上述软 件多断点调试技术需要对断点位置的真实指令进行备份,在替换回真实指令时 需要高级语言来解析断点处的真实指令,如此,实现该方案需要消耗大量额外 的存储空间来存储备份断点处的真实指令,还需要替换流水线中指令,实现困 难。
    发明内容
    为解决现有存在的问题,本发明实施例主要提供一种多断点的软件调试装 置和方法,简单易行的实现了多断点的软件调试,同时节省了单板上的存储资 源。
    本发明的技术方案是这样实现的:
    本发明提供了一种多断点的软件调试装置,该软件调试装置包括:驱动器、 微处理器、指令存储器和微码集成开发环境IDE;其中,
    所述驱动器,用于获取软件程序中的断点信息,将所述断点信息发送给指 令存储器,并根据指令存储器中的断点信息将断点处的真实指令替换成断点指 令,在上报中断给IDE后,根据IDE下发的命令将所述断点指令换回真实指令, 触发微处理器解冻流水线,并在断点指令执行的间隙将断点处的真实指令再次 替换成断点指令;
    所述微处理器,用于当执行到断点指令时,通过驱动器上报中断给IDE, 冻结流水线,并根据驱动器的触发解冻流水线,对断点处的真实指令进行取指;
    所述指令存储器,用于存储断点指令和断点信息;
    所述IDE,用于为用户提供下发命令的交互界面。
    上述方案中,所述断点信息包括断点位置地址;所述断点指令为原地跳转 指令;所述断点指令执行的间隙为断点指令在原地执行跳转的任意两次的间隙。
    上述方案中,所述驱动器,还用于将来自所述IDE的命令解析成具体的寄 存器或存储器读写信号通过总线发送给所述微处理器和/或指令存储器。
    上述方案中,所述驱动器,还用于将断点位置和断点处的真实指令存储到 IDE所在的上位机。
    上述方案中,所述微处理器包括:流水线和调试???;其中,
    所述流水线,用于当执行到断点指令时,解析发现当前指令为断点指令后 向所述调试??榉⑺屯ㄖ?,并在解冻后对断点处的真实指令进行取指;
    所述调试???,用于当接收到来自所述流水线的通知后,冻结流水线,上 报中断给驱动器,并根据驱动器的触发解冻流水线。
    上述方案中,所述调试???,具体用于当接收到来自所述流水线的通知后, 产生停止信号来冻结流水线。
    本发明还提供了一种多断点的软件调试方法,该软件调试方法包括:
    微码集成开发环境IDE在软件程序中设置断点;
    驱动器获取软件程序中的断点信息,根据所述断点信息将断点处的真实指 令替换成断点指令;
    当执行到所述断点指令时,微处理器上报中断给IDE,并冻结流水线;
    驱动器根据IDE下发的命令将所述断点指令换回真实指令;
    微处理器解冻流水线,对断点处的真实指令进行取指;
    驱动器在断点指令执行的间隙将断点处的真实指令再次替换成断点指令。
    上述方案中,所述断点信息包括断点位置地址。
    上述方案中的软件调试方法还包括:驱动器将断点位置和断点处的真实指 令存储到IDE所在的上位机。
    上述方案中,所述驱动器根据IDE下发的命令将所述断点指令换回真实指 令,微处理器解冻流水线,对断点处的真实指令进行取指,驱动器在断点指令 执行的间隙将断点处的真实指令再次替换成断点指令为:驱动器根据IDE下发 的单步操作命令或继续操作命令,将所述断点指令换回真实指令,在换回真实 指令时,微处理器解冻流水线,对断点处的真实指令进行取指,在对所述真实 指令取指完成后,在任意两次执行断点指令的间隙将断点处的真实指令再次替 换成断点指令。
    本发明实施例提供了一种多断点的软件调试装置和方法,微码集成开发环 境(IDE,Integrated Development Environment)在软件程序中设置断点,驱动 器获取软件程序中的断点信息,根据所述断点信息将断点处的真实指令替换成 断点指令,当执行到所述断点指令时,微处理器上报中断给IDE,并冻结流水 线,驱动器根据IDE下发的命令将所述断点指令换回真实指令,微处理器解冻 流水线,对断点处的真实指令进行取指,驱动器在断点指令执行的间隙将断点 处的真实指令再次替换成断点指令;如此,本申请利用断点指令的特性和流水 线冻结的空隙来完成替换指令的操作,不仅可以在指令存储器中继续保留断点, 而且不用额外增加单板上的存储空间来存储断点位置的指令,节省大量的硬件 存储资源的同时也简化了调试步骤。
    附图说明
    图1为本发明实施例提供的多断点的软件调试装置的结构示意图
    图2为本发明实施例提供的软件调试装置中微处理器和指令存储器的结构 示意图;
    图3为本发明实施例提供的多断点的软件调试方法流程图;
    图4为本发明实施例提供的断点的软件设置方法流程图;
    图5为本发明实施例提供的执行单步操作的流程图;
    图6为本发明实施例提供的执行继续操作的流程图。
    具体实施方式
    本发明实施例中,IDE在软件程序中设置断点;驱动器获取软件程序中的 断点信息,根据所述断点信息将断点处的真实指令替换成断点指令;当执行到 所述断点指令时,微处理器上报中断给IDE,并冻结流水线;驱动器根据IDE 下发的命令将所述断点指令换回真实指令;微处理器解冻流水线,对断点处的 真实指令进行取指;驱动器在断点指令执行的间隙将断点处的真实指令再次替 换成断点指令,通过上述方法来实现多断点的软件调试。
    下面通过附图及具体实施例对本发明做进一步的详细说明;
    本发明实施例提供的多断点的软件调试装置的结构如图1所示,该软件调 试装置包括:驱动器(Driver)10、微处理器11、指令存储器12和IDE13;其 中,
    所述驱动器10,用于获取软件程序中的断点信息,将所述断点信息发送给 指令存储器,并根据指令存储器中的断点信息将断点处的真实指令替换成断点 指令,在上报中断给IDE13后,根据IDE13下发的命令将所述断点指令换回 真实指令,触发微处理器11解冻流水线,并在断点指令执行的间隙将断点处的 真实指令再次替换成断点指令;
    所述微处理器11,用于当执行到所述断点指令时,通过驱动器10上报中 断给IDE13,冻结流水线,并根据驱动器10的触发解冻流水线,对断点处的 真实指令进行取指;
    所述指令存储器12,用于存储断点指令和断点信息;
    所述IDE13,用于为用户提供下发命令的交互界面;
    其中,所述断点信息包括断点位置地址;
    所述断点指令为原地跳转指令,所述断点指令执行的间隙为断点指令在原 地执行跳转的任意两次的间隙;
    所述驱动器10,还用于将来自所述IDE13的命令解析成具体的寄存器或 存储器读写信号通过总线发送给所述微处理器11和/或指令存储器12;所述命 令包括:设置断点命令以及执行单步(Step)操作或继续(Continue)操作等命 令;
    所述IDE13安装在上位机上,在为微处理器11和或指令存储器12下发命 令后,所述驱动器10,还用于将断点位置和断点处的真实指令存储到IDE13 所在的上位机。
    图2所示为本发明实施例提供的微处理器11和指令存储器12的结构图, 如图所示,所述微处理器11具体包括:流水线20和调试(Debug)???1; 其中,
    所述流水线20,用于当执行到断点指令时,解析发现当前指令为断点指令 后向所述调试???1发送通知,并在解冻后对断点处的真实指令进行取指;
    所述调试???1,用于当接收到来自所述流水线20的通知后,冻结流水 线,上报中断给驱动器10,并根据驱动器10的触发解冻流水线;
    所述调试???1,具体用于当接收到来自所述流水线20的通知后,产生 停止(stall)信号来冻结流水线;
    所述上位机上安装的IDE13可以通过总线操作所述调试???1中的寄存 器来解除流水线冻结,从而使微处理器11可以执行单步操作或继续操作;
    所述上位机上安装的IDE13还可以通过总线来对指令存储器12中存储的 指令内容进行修改,所述指令存储器12可以由SRAM组成。
    本发明实施例提供一种多断点的软件调试方法,如图3所示,该软件调试 方法包括以下步骤:
    步骤301:在软件程序中设置断点;
    具体的,调试开始后,用户通过IDE在软件程序中设置断点,断点的数量 和位置由用户根据需求来设定;
    步骤302:驱动器获取软件程序中的断点信息,根据所述断点信息将断点 处的真实指令替换为断点指令;
    具体的,首先,驱动器从所述IDE中获得用户在软件程序中设置断点的命 令以及断点信息;所述断点信息包括断点位置地址;然后,根据所述断点位置 地址将软件程序中断点位置地址对应的真实指令替换成指令存储器中的断点指 令,所述断点指令为原地跳转指令;
    本步骤还包括,在将所述真实指令替换成断点指令后,将所述断点位置和 所述断点处的真实指令存储到IDE所在的上位机。
    步骤303:当执行到所述断点指令时,微处理器上报中断,并冻结流水线;
    具体的,当软件程序执行到所述断点指令时,微处理器上报中断给IDE的 同时冻结流水线;由于所述断点指令本身为原地跳转指令,因此,断点指令会 跳转到微处理器当前的取指地址处,同时会将流水线上延迟槽内的指令都刷新 成NOP指令。
    步骤304:驱动器根据IDE下发的命令将所述断点指令换回真实指令,微 处理器解冻流水线,对断点处的真实指令进行取指,驱动器在断点指令执行的 间隙将断点处的真实指令再次替换成断点指令;
    具体的,在上报中断后,驱动器根据IDE下发的单步操作命令或继续操作 命令,将所述断点指令换回真实指令,在换回真实指令时,微处理器解冻流水 线,执行所述断点指令,同时完成对断点处的真实指令进行取指,由于所述断 点指令继续在原地跳转,这样,可以在任意两次执行断点指令的间隙将断点处 的真实指令再次替换成断点指令。
    图4具体的呈现了微处理器软件断点的设置方法流程,图中所示流程为图 3中步骤301与步骤302的具体操作步骤,包括:
    步骤401:IDE开启调试模式;
    具体的,IDE开启调试模式后,用户可以在软件程序中设置断点,所述断 点的位置和数量由用户根据调试需要来确定。
    步骤402:驱动器从所述IDE获得打断点的命令以及断点位置地址;
    具体的,用户通过IDE设置断点之后,驱动器从所述IDE中获取断点命令 以及断点位置地址,为下一步替换指令做准备。
    步骤403:驱动器根据所述断点位置地址将断点处的真实指令替换成断点 指令;
    步骤404:驱动器将所述断点位置地址和所述真实指令备份;
    具体的,驱动器将软件程序中的所有断点位置地址和所述断点位置地址处 的真实指令都保存至IDE所在上位机进行备份。
    当微处理器执行到断点指令并上报中断后,IDE继续执行单步操作时,具 体流程如图5所示;
    首先,在IDE开始执行单步操作时读取中断寄存器来判断是否有中断,当 有中断时,则表示微处理器已经产生中断并冻结了流水线,此时可以执行单步 操作,当没有中断时,表示微处理器的流水线正常工作,此时不能执行单步操 作;然后读取微处理器中当前取指地址,并将所述取指地址和所述驱动器记录 存储的断点位置进行对比,判断所述取指地址是否与所述断点位置对应,当所 述取指地址与所述断点位置对应时,则表示微处理器当前执行的指令是原地跳 转指令;
    然后,所述驱动器将所述取指地址ex_2pc处的指令替换为原来需执行的真 实指令,本实施例中取指地址具体为ex_2pc;接下来所述驱动器触发微处理器 执行所述原地跳转指令,同时完成对所述取指地址处的真实指令的取指;所述 驱动器再将所述ex_2pc处的真实指令替换回所述原地跳转指令Trap指令;所 述驱动器触发微处理器再一次执行所述原地跳转指令,最后,所述微处理器执 行所述真实指令完成整个单步操作;
    如图所示,当将所述当前的取指地址和所述驱动器中记录的断点位置进行 对比,所述取指地址与所述断点位置不对应时,表示微处理器当前执行的指令 不是断点指令,微处理器继续执行下一条指令,完成操作。
    图6所示为当微处理器执行到断点指令并上报中断后,IDE执行继续操作 时的流程图,具体流程与图5所示相似;
    首先,在IDE开始执行继续操作时读取中断寄存器来判断是否有中断,当 有中断时,则表示微处理器已经产生中断并冻结了流水线,此时可以执行继续 操作,当没有中断时,表示微处理器的流水线正常工作,此时不能执行继续操 作;然后读取微处理器中当前取指地址,并将所述取指地址和所述驱动器记录 存储的断点位置进行对比,判断所述取指地址是否与所述断点位置对应,当所 述取指地址与所述断点位置对应时,则表示微处理器当前执行的指令是原地跳 转指令;
    然后,所述驱动器将所述取指地址ex_2pc处的指令替换为原来需执行的真 实指令,本实施例中取指地址具体为ex_2pc;接下来所述驱动器触发微处理器 执行所述原地跳转指令,同时完成对所述取指地址处的真实指令的取指;所述 驱动器再将所述ex_2pc处的真实指令替换回所述原地跳转指令Trap指令;驱 动器触发微处理器再一次执行所述原地跳转指令,最后,驱动器触发微处理器 全速执行软件程序,完成整个继续操作。
    本发明实施例所述多断点的软件调试方法如果以软件功能??榈男问绞迪?并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。 基于这样的理解,本领域内的技术人员应明白,本申请的实施例可提供为方法、 装置、或计算机程序产品。因此,本申请可采用硬件实施例、软件实施例、或 结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中 包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的 形式,所述存储介质包括但不限于U盘、移动硬盘、只读存储器(ROM, Read-Only Memory)、磁盘存储器、CD-ROM、光学存储器等;
    这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使 得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处 理,从而在计算机或其他可编程设备上执行的指令提供用于实现本发明方法流 程中的一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的 步骤。
    从上述实施例可以看出,本发明提供的微处理器软件多断点的软件调试装 置和方法,通过利用断点指令和冻结流水线来实现微处理器软件调试过程中的 多断点的灵活设置,比现有断点调试技术更加节省单板上的存储空间,调试方 法也更加简便。
    以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的?;し?围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应 包含在本发明的?;し段е?。

    关 键 词:
    一种 断点 软件 调试 装置 方法
      专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:一种多断点的软件调试装置和方法.pdf
    链接地址://www.4mum.com.cn/p-5894643.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们

    [email protected] 2017-2018 www.4mum.com.cn网站版权所有
    经营许可证编号:粤ICP备17046363号-1 
     


    收起
    展开
  • 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03