查看分析结果

前提条件

已成功完成任务分析。

不同的目标操作系统支持的SO库不一样,所以迁移报告会有差异。

查看迁移报告

  1. 在页面左侧,选择“源码迁移”,展开下拉列表即为历史报告。
  2. 在历史报告的列表中,单击指定分析任务的报告名称,进入“迁移报告”界面。

    图1 迁移报告结果
    表1 迁移报告结果参数说明

    参数

    说明

    扫描文件统计

    文件总数

    根据选择的源码类型和构建工具进行扫描,总共统计的扫描源码文件数。

    依赖文件统计

    文件总数

    源码包所依赖的与架构相关文件总数。

    可兼容

    可兼容目标硬件平台。

    待修改

    需要用户修改以达到兼容目标硬件平台。

    源码文件统计

    需修改文件数

    需要修改的文件数。

    需修改代码行

    需要修改的代码行数。

    源码迁移人力

    显示预估的源码迁移人力,当“扫描参数设置”中“显示工作量评估结果”设置为“是”时展示。

    与架构相关的依赖文件

    显示与架构相关的依赖文件,请根据“处理建议”进行操作。

    需要迁移的源文件

    显示需要迁移的源文件总数和需要修改的代码行数,通过单击操作列“查看建议源码”可以快速进入对应的源码迁移建议页面。

    • 文件类型包括C/C++ Source File、Fortran、makefile、Python、Go、Java、Scala以及ASM File,可通过筛选查看具体类型的文件。
    • 文件所在的路径根据Unicode编码排序,需修改的代码行根据行数排序。

  3. 准备依赖库。

    图2提供的依赖库信息可以看出,有2个依赖文件。

    图2 依赖库信息
    • 针对可兼容鲲鹏平台的动态库、静态库文件、软件包、可执行文件、JAR包等,用户可以直接单击处理建议中的“下载”,下载鲲鹏平台可用的文件,然后进行替换,或者下载鲲鹏版本源码,直接编译。对于一些未开源的依赖文件,工具无法提供下载URL,请自行获取后进行替换。
    • 针对待修改的文件,请先在鲲鹏平台上验证。若不兼容,请联系供应方获取鲲鹏兼容版本,或获取源码并编译成鲲鹏兼容版本,或使用其他方案替代。
    以上图libz.so.1依赖文件为例:
    1. 可通过以下命令查看服务器上是否已下载过此动态库。
      1
      rpm -qa | grep zlib
      
    2. 若未安装动态库,请单击“下载”获取动态库,并在服务器上安装;若已安装动态库,则可以略过此步。
      1
      rpm -ivh zlib-1.2.11-20.oe1.aarch64.rpm
      

      显示信息如下:

      1
      2
      3
      Verifying...                          ################################# [100%]
      Preparing...                          ################################# [100%]
              file /usr/lib64/libz.so.1.2.11 from install of zlib-1.2.11-20.oe1.aarch64 conflicts with file from package zlib-1.2.11-17.oe1.aarch64
      

  4. “迁移报告”的操作中直接单击“查看建议源码”可查看源码迁移建议。

    若用户需要在原始代码中进行修改操作,务必随时对编辑的源码进行保存,否则可能会因为会话超时而丢失修改的代码。

    图3 源码迁移建议
    • 用户可以直接在原始源代码中进行修改,修改完之后,可使用快捷键“Ctrl+S”保存,“Ctrl+Z”回退。
    • 用户可以将鼠标置于有红色波浪线的代码上,在悬浮的提示中单击Quick Fix自动添加右侧的源码建议(可选择“在本文件中批量修改该类建议”对同类问题进行批量修改)。
    • 用户如使用快捷键进行源码操作,需注意因输入法或IDE环境导致的快捷键被占用问题。
    • 汇编不支持迁移修改后再次扫描;如果扫描,会导致分析结果不准确。